我有几十个控制器测试可以调整:
test "GET #show when not authenticated" do
get :show, { id: 1 }
assert_redirected_to '/login'
end
但我的application_controller
默认被锁定。
class ApplicationController < ActionController::Base
before_action :ensure_logged_in
end
我不应该将此测试添加到每个控制器测试中。但我不想只测试一个控制器。
我怎样才能测试我的应用程序是否被锁定而不会乱丢我的控制器测试?
答案 0 :(得分:4)
您可以使用:
test "Should redirect to login when user is not logged in" do
[:show, :edit, :new].each do |action|
get action, {id: 1}
assert_redirected_to '/login'
end
end
并将此测试命名为:
测试&#39;未经授权时重定向到登录页面&#39;做