5
私はレール5とminitestを使用しています。私は、コントローラメソッドのインスタンス変数のフィールドの値をどのようにテストするのだろうと思います。私は、変数が定義されているかどうかをテストしたい場合、私はコントローラインスタンス変数の属性の値をテストするにはどうすればよいですか?
assert_not_nil assigns(:issue)
を行うことができますことを認識しますが、私は、@ issue.stop_idの値をテストしたい場合、私はあまり明確です。私のコントローラメソッドは
# GET /issues/new
def new
unless user_signed_in?
redirect_to new_user_session_path
end
@issue = Issue.new(stop_onestop_id: params[:stop_id], line_onestop_id: params[:line_id])
end
私は私のテスト方法
test "get index page" do
get index_url
assert_not_nil assigns(:issue)
assert_equal test_stop_id, @issue.stop.id
assert_equal test_line_id, @issue.line.id
assert_response :success
end
でこれをしようとしているが、私は試験方法でライン
assert_equal test_stop_id, @issue.stop_id
でNoSuchMethodErrorを取得していますです
test "logged in should get issues page" do
sign_in users(:one)
test_stop_id = 1
test_line_id = 1
get new_issue_url, params: {stop_id: test_stop_id, line_id: test_line_id}
assert_equal test_stop_id, @issue.stop_id
assert_equal test_line_id, @issue.line_id
assert_response :success
end