rails unit test failed“undefined method'request ='”

时间:2011-11-26 16:06:42

标签: ruby-on-rails ruby

我运行这个单元测试:

require 'test_helper'

class MyControllerTest < ActionController::TestCase
   test "my action works" do
     get(:my_action, {'url' => "http://localhost:8090/"})
   end
end

我收到此错误:

NoMethodError: undefined method 'request=' for #<MyController:0x5150896>

有什么想法吗?

编辑此操作只有POST而不是GET但是当我在单元测试中更改为post时,我看到相同的resutls

3 个答案:

答案 0 :(得分:10)

我已经看到,当测试中控制器的名称拼写错误时会发生这种情况。你确定在这个例子中控制器名为MyController吗?

答案 1 :(得分:8)

如果您忘记继承ApplicationController或其衍生产品,就会发生这种情况......

答案 2 :(得分:0)

基本上有两个原因:

  1. 这意味着您无需控制器文件。或

  2. 您在实例化非non的名称中输入了一个拼写错误 测试中@controller变量的控制器。

  3. 交叉检查您的测试文件,这将解决您的问题。