ruby on rails-控制器测试在一起运行时失败,单独运行时通过.这怎么可能



我有一些测试需要用户登录。当我自己运行控制器测试时,它通过了,一切都是绿色的。如果我运行rspec spec/controllers,我的一些测试会失败,并出现错误,例如:

Failure/Error: get :my_modal, :format => :js
 NoMethodError:
   undefined method `authenticate!' for nil:NilClass

有什么建议可以解决吗?

有一次我遇到了这样的错误。因此,在我告诉你我的故事时,你没有与我们分享更多的细节,希望你以后能发现你的错误更容易。

在我的应用程序2中,类可以登录。一个"用户"和一个"主题"。我尝试进行身份验证,因此用户只能访问与用户相关的网站,主题只能访问应用程序中与主题相关的部分。

我犯的第一个错误就是你的错误。但我把它修好了,我会尽力向你解释我是怎么做的。如果有用户登录,我的应用程序不知道与主题相关的身份验证方法。反之亦然,如果在我的应用程序中签名的主题不知道与用户相关的身份验证方法(我要求User.User_id或Topic.be_Topic?为真)

解决这个问题的线索是:我创建了一个名为"user_signed_in"的方法,并在IF方法上运行身份验证。

IF user_signed_in
  user.user_id > 0
ELSE
  topic.be_topic == true
END

希望这能帮助你。我是Rails的新手,请原谅我缺乏更深层次的知识。

相关内容

最新更新