我正在使用Ruby on Rails 3.2.2,cucumber-rails-1.3.0,rspec-rails-2.8.1和capybara-1.1.2。我有this problem但我开始认为我可能做错了...主要是为了测试目的而在test
数据库中播种数据。具体来说,我的问题与如何在我必须测试我的应用程序时正确管理test
数据库中的数据有关。
我的疑问是:通过播种数据( For Your Information :我使用ROOT_PATH/db/seed.rb
文件注入该数据)在{{ 1}}数据库我正在做他们应该做的事情?也就是说,我应该如何填充test
数据库,因为该数据库*中的数据是必需的为了测试目的,我的应用程序是否正常工作?我应该填充test
数据库吗?
换句话说,在test
模式下处理数据库数据的最佳做法是什么(在我的情况下)?而且,一般来说,情况如何应该处理?
*****例如,为了工作,我的应用程序至少需要与“匿名”用户,“基本”文章,“基本”文章类别等相关的数据。
答案 0 :(得分:1)
您应该使用以下其中一项:
答案 1 :(得分:0)
我有类似的问题,关联使得有必要获得一些种子数据:
工厂会使你的测试真的很慢,对于单个对象来说它们是完全正常的,但对于每个测试必须创建的大量种子数据都不行
Fixture Builder - http://github.com/rdy/fixture_builder 我创建了一堆灯具,只是在每个测试中从DB加载它们,将我的测试时间缩短了40%。您也可以加载种子文件。 但要小心,删除或更新记录会产生不必要的副作用。使用工厂制作这些规格。
模拟和存根所有内容,以便您的测试很少接触数据库。 这已经变得非常不受欢迎,你最终会得到那些没有发现实际错误的规格。