【发布时间】:2015-07-16 19:05:51
【问题描述】:
我目前正在使用 GraphUnit、Spock 和一个进程中的 Neo4j 服务器对我的 Spring Data Neo4j 4.0 支持的应用程序进行集成测试。
在我的测试操作之后对图形数据库的状态进行断言是一个非常好的工具,但我注意到为了让 GraphUnit 的 assertGraph 和 printGraph 向我展示我的期望,我的 Neo4j 事务必须先提交。从逻辑上讲,这对我来说是有意义的,但这也意味着我无法标记我的集成测试@Transactional,并且在一次测试中对进程中数据库所做的任何数据更改都会影响到后续测试。
我通过在 Spock 夹具方法中的每个测试方法之后清除数据库来处理这个问题,这工作正常,但我非常希望能够:
- 设置测试 Neo4j 数据集 ONCE
- 在每次测试后回滚测试方法更改
- 仍然能够以某种方式使用 GraphUnit 的断言和打印实用程序
我的问题是 - 有没有办法完成这三个方面?如果我想使用 GraphUnit,事务提交是否是一个基本要求/假设?
【问题讨论】:
标签: neo4j spring-data-neo4j-4 graphaware