rails rspec测试中的一个问题

时间:2010-11-16 06:34:00

标签: ruby-on-rails rspec

今天,我使用factory_girl而不是rails fixtures,但是我遇到了一个问题: 运行命令“spec spec”后,数据重置为灯具,谁可以告诉我答案?

谢谢你!

1 个答案:

答案 0 :(得分:0)

如果您打算在项目中同时使用工厂和灯具,而不是通过rake任务运行它们:例如rake spec,您需要确保手动删除数据库中的值。你可能正在做的只是抓住数据库中的旧记录,你认为数据正在被重置。您可以通过在规范中使用puts来跟踪db中的记录数来验证这一点。

puts MyRecord.count

您可以清除块之前或之后的值。

before(:each) do 
  Factory(:my_model)
end

after(:each) do 
  MyModel.delete_all
end

如果您打算在其他规范文件中使用此模型或工厂,可以将它们添加到规范帮助程序中的全局前后块。