如果rails

时间:2016-05-23 02:06:24

标签: ruby-on-rails unit-testing ruby-on-rails-4

我有一个需要使用

进行身份验证的rails 4应用
  http_basic_authenticate_with name: "ILoveSO", password: "ItrustSOwithmypassword"

但是,当我尝试测试身份验证失败时,它会抛出错误500(未提供http auth标头)。

  

NoMethodError:未定义的方法user' for nil:NilClass app/controllers/application_controller.rb:5:in'       app / controllers / application_controller.rb:1:在`'

如何发送HTTP 403而不是在未定义的密钥上失败?

这是我用于单元测试的代码:

assert_response :error,  get("ping") 

编辑:当我试图调试这个时,我发现如果我把我唯一的测试文件尖叫到:

  test "nothing" do
  end

我仍然收到错误。

WTF正在发生?

1 个答案:

答案 0 :(得分:0)

好的,这有点愚蠢。

某些变量未在测试环境中初始化,错误来自于此。

请注意自己:仔细阅读堆栈跟踪!!!