当我将测试数据库中的记录放入rails时,它会持续多长时间?

时间:2012-08-23 20:11:33

标签: ruby-on-rails rspec cucumber

如果作为我的Rails应用程序中的RSpec或Cucumber测试的一部分,我创建了一个模型并将其存储在测试数据库中,该记录将保留多长时间?

我很确定在每个测试周期结束时(或开始?)清除记录,因为它们似乎不会干扰我的测试套件的连续运行,但是在不同的黄瓜功能之间是否存在记录和场景,或不同的RSpec测试之间?

1 个答案:

答案 0 :(得分:2)

如果您正在使用交易,则每个示例后都会回滚更改。

如果您不使用交易,则更改将持续,除非您使用其他技术清除它们。这是请求规范的典型案例;因此,需要像database_cleaner或手动滚动方法来清除测试数据库。

RSpec的默认spec_helper文件包含以下行:

  config.use_transactional_fixtures = true

表示将使用交易。