Tôi đang sử dụng đường ray 5 và minitest. Tôi đã tự hỏi, làm thế nào để kiểm tra giá trị của một trường trong một biến mẫu của phương thức điều khiển của tôi. Tôi nhận thấy rằng nếu tôi muốn kiểm tra xem biến có được xác định hay không, tôi có thể làmLàm thế nào để kiểm tra giá trị của một thuộc tính trong một biến đối tượng điều khiển?
assert_not_nil assigns(:issue)
nhưng tôi không rõ ràng nếu tôi muốn kiểm tra giá trị của @ issue.stop_id. Phương pháp điều khiển của tôi là
# 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
Tôi đang cố gắng này trong phương pháp thử nghiệm của tôi
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
nhưng tôi nhận được một NoSuchMethodError trên dòng
assert_equal test_stop_id, @issue.stop_id
trong phương pháp kiểm tra
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