Ruby on rails 为什么';得不到'/foo';在Rails 3中进行功能测试?
查看Rails指南和此SO问题,以下内容应适用于测试:Ruby on rails 为什么';得不到'/foo';在Rails 3中进行功能测试?,ruby-on-rails,ruby-on-rails-3,testing,routes,functional-testing,Ruby On Rails,Ruby On Rails 3,Testing,Routes,Functional Testing,查看Rails指南和此SO问题,以下内容应适用于测试: require 'test_helper' class ApplicationControllerTest < ActionController::TestCase test "test authentication" do get "/dash" assert_response :success end end 为什么用URL获取不起作用 我在类应用程序控制器测试
require 'test_helper'
class ApplicationControllerTest < ActionController::TestCase
test "test authentication" do
get "/dash"
assert_response :success
end
end
为什么用URL获取不起作用
我在类应用程序控制器测试
中运行此测试,它与仪表板控制器不同。您必须从与控制器同名的功能测试运行它吗
使用Test::Unit在Rails 3.07中工作。是的,您必须从特定控制器的功能测试运行它。Rails试图提供帮助,因此它会根据测试类的名称自动选择将请求发送到哪个控制器
您可能还需要听从Marian的建议,使用操作名称而不是URL:
get :population
请注意,get
/post
/等等。助手函数在集成测试中的行为完全不同(我相信您的代码在那里是正确的)-这可能是您挂断电话的地方。我觉得这种不一致性也令人恼火
希望有帮助 在功能测试中,get
(和post
等)总是需要操作名。
get :population