我正在使用 dbsetup 进行数据库测试。问题是我无法在每次测试后使用始终有效的方法来回滚数据,该方法使用 @Transactional 注释来注释测试用例(或方法)。我想发生这种情况是因为 dbsetup 使用 DataSource 本身,所以 Spring 无法跟踪对数据库所做的操作。如何做到这一点?
最佳答案
DbSetup 在任何方面都与 Spring 无关。它从数据源获取 JDBC 连接并在完成后提交它。
使用 DbSetup 的推荐方法是在每次测试之前清除并填充表。使用 DbSetupTracker 可以避免无用的重新填充,以防测试使用与先前测试相同的数据,并且先前的测试未更改数据。 user guide 中对此进行了描述。 .
关于java - 与数据源手动交互后回滚测试中的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26820042/