如果作为我的Rails应用程序中的RSpec或Cucumber测试的一部分,我创建了一个模型并将其存储在测试数据库中,该记录将保留多长时间?
我很确定在每个测试周期结束时(或开始?)清除记录,因为它们似乎不会干扰我的测试套件的连续运行,但是在不同的黄瓜功能之间是否存在记录和场景,或不同的RSpec测试之间?
答案 0 :(得分:2)
如果您正在使用交易,则每个示例后都会回滚更改。
如果您不使用交易,则更改将持续,除非您使用其他技术清除它们。这是请求规范的典型案例;因此,需要像database_cleaner或手动滚动方法来清除测试数据库。
RSpec的默认spec_helper文件包含以下行:
config.use_transactional_fixtures = true
表示将使用交易。