我的会话控制器
def create
auth = request.env["omniauth.auth"]
person=Person.find_by_provider_and_uid(auth.provider,auth.uid) || Person.create_with_omniauth(auth)
session[:user_id] = person.id
redirect_to root_path
end
def failure
redirect_to signin_path , alert: "Authentication failed, please try again."
end
我在sessions_controller_test.rb
中编写了一个测试失败操作的测试 it "failure should redirect to signin_path" do
get :failure
assert_redirected_to :action => 'new'
assert_response :redirect
end
但是simplecov代码覆盖工具不接受此测试成功。 Simplecov将此失败操作显示为缺少测试。 如何为失败操作编写控制器测试。没有人对此提出任何想法吗? 下图是覆盖率报告的截图。
答案 0 :(得分:0)
尝试在 assert_redirect_to 语句中指定控制器名称(会话,希望如下)。
assert_redirected_to :action => "new", :controller => "sessions"