Rails集成测试在Class.count上失败 - nil.nill.NIL

时间:2016-02-17 11:59:21

标签: ruby-on-rails integration-testing

ENV =发展

我得到了一个对我来说毫无意义的奇怪错误

当我使用Myclass.count运行集成测试时,我收到错误

  

ERROR [“test_micropost_interface”,MicropostsInterfaceTest,2016-01-20 23:50:17 +0000]    test_micropost_interface#MicropostsInterfaceTest(1453333817.28s)   ActionView :: Template ::错误:ActionView :: Template ::错误:未定义的方法`count'代表nil:NilClass

代码是并且确实在工作!

    assert_no_difference 'Micropost.count' do
     post microposts_path, micropost: { content: "" }
    end

我运行了一个控制台,Micropost.count返回32

这可能是灯具没有传播的问题吗? 我很难过:(建议去哪看!

1 个答案:

答案 0 :(得分:0)

我认为错误来自您的一个观点,而不是测试本身的问题。

可能值得删除回溯上的静音,看看是否有更详细的错误,希望更准确地指出错误。

config/initializers/backtrace_silencers.rb中,您可以取消注释最后一行以获取rails以显示整个错误。我经常将此行改为:

Rails.backtrace_cleaner.remove_silencers! if Rails.env.test?

在我运行测试时获得完整的回溯。