我将 Spock 测试框架与 Spock-Spring 扩展一起使用,它允许您使用 Springs 的 @Transactional 和 @Rollback 注释。鉴于我得到了这样的数据驱动测试:
@Transactional
@Rollback
def "Some Test"(int foo) {
when:
someDao.insert(foo);
then:
notThrown(Exception)
where:
foo << [0..100]
}
现在当我运行它时会发生什么,这个测试用不同的“foo”值执行了 101 次。还会发生的情况是,每次测试后事务都会回滚。我想要的是事务仅在运行 101 次测试后才回滚,而不是在每次测试后回滚。我当然可以在测试中编写一个循环,但如果我可以控制事务回滚的时间会更好 - 在每次测试之后或在所有测试之后。有什么办法可以控制这个还是我被困在循环中?