我正在使用 rspec 进行测试,我注意到在运行测试后,它有时会在测试数据库中留下一些记录。我不确定为什么。我在我的配置文件中将 use_transactional_fixtures 设置为 true。但在我手动删除记录之前,它们不会消失。有没有人有办法阻止这种情况?
编辑; 之前我说过只有当测试失败时。这不再是真的。
我正在使用 rspec 进行测试,我注意到在运行测试后,它有时会在测试数据库中留下一些记录。我不确定为什么。我在我的配置文件中将 use_transactional_fixtures 设置为 true。但在我手动删除记录之前,它们不会消失。有没有人有办法阻止这种情况?
编辑; 之前我说过只有当测试失败时。这不再是真的。
我发现了问题。Before(:all) 块不是事务性的
试试database_cleaner gem。
截断或交易策略将适合您。
注意:它会使你的测试套件运行得非常慢。
通常,在 RSpec(如果您正在使用它)中正确使用before
通常after
可以正常工作。