繁体   English   中英

在测试运行期间如何将Rails夹具重新加载到数据库中

[英]How to reload rails fixtures into database during test running

我的遗留代码使用的是DatabaseCleaner,它在完成每个测试后会擦除数据库。 但是,它也会清除已加载的灯具数据,并导致使用灯具的某些测试失败,例如:

ActiveRecord::RecordNotFound Exception: Couldn't find Country with 'id'=593363170

为了使它们一起工作,如何在测试过程中将所有灯具重新写回数据库? (我的意思是不耙任务)

解:

在要重新加载固定装置的文件开头,设置self.use_transactional_fixtures = false

或者在Rails 5中使用use_transactional_tests

不要在spec_helper设置它,因为它在全球范围内适用,因此与DatabaseCleaner冲突。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM