我从包含架构的测试数据库开始,但表中没有数据。我像这样进行测试
cd test/
ruby unit/directive_test.rb
我收到失败,表明代码在数据表中没有找到数据。但是,我在运行该测试后查看表格,数据现在在表格中。事实上,如果我立即再次进行测试,我就不会失败。
所以看起来夹具被加载到表中太晚了,我的一个模块找不到它。
app/model/*.rb
文件之前或之后? 此问题在运行rake test:units
时也很重要,因为该任务在完成后会清除测试数据。
答案 0 :(得分:0)
首先查看this thread并查看它是否可以为您提供帮助。
如果您运行轨道任务rake测试:它将确保在运行代码之前加载所有灯具。如果你只运行测试,并且你的单元测试没有引用test_help.rb可能它没有加载灯具。您应该尝试通过rake任务运行它。
我给你的另一个提示是你忘记了固定装置并使用工厂(我推荐factory_girl)。使用它需要一些时间,但它值得。固定装置太难管理,更新等等。
有another post解释工厂背后的概念。