테스트에서 가이드 라인이 제대로 작성되지 않아 그 이유를 찾을 수 없습니다.상태 생성 테스트가 실패합니다.
guidelines_controller_test.rb의 테스트는 나는 그것이
실패 테스트를 실행하려고하면test "should create guideline when logged in" do
sign_in users(:tester)
assert_difference('Guideline.count') do
post :create, guideline: { content: @guideline.content, hospital: @guideline.hospital, title: @guideline.title }
end
가 guidelines_controller.rb의 조치가
def create
@guideline = Guideline.new(params[:guideline])
respond_to do |format|
if @guideline.save
format.html { redirect_to @guideline, notice: 'Guideline was successfully created.' }
format.json { render json: @guideline, status: :created, location: @guideline }
else
format.html { render action: "new" }
format.json { render json: @guideline.errors, status: :unprocessable_entity }
end
end
끝
입니다 만들 내입니다
1) Failure:
test_should_create_guideline_when_logged_in(GuidelinesControllerTest) [test/functional/guidelines_controller_test.rb:36]:
"Guideline.count" didn't change by 1.
<4> expected but was
<3>.
및 test.log가 표시됩니다 (관련 비트를 복사하려고 시도했습니다)
Processing by GuidelinesController#create as HTML
Parameters: {"guideline"=>{"content"=>"www.test.com", "hospital"=>"Test Hospital", "title"=>"Test title"}}
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = 781720531 LIMIT 1
(0.1ms) SAVEPOINT active_record_1
Guideline Exists (0.3ms) SELECT 1 AS one FROM "guidelines" WHERE (LOWER("guidelines"."title") = LOWER('Test title') AND "guidelines"."hospital" = 'Test Hospital') LIMIT 1
(0.1ms) ROLLBACK TO SAVEPOINT active_record_1
Rendered guidelines/_form.html.erb (256.5ms)
Completed 200 OK in 313ms (Views: 279.2ms | ActiveRecord: 0.8ms)
(0.2ms) SELECT COUNT(*) FROM "guidelines"
(0.1ms) rollback transaction
아무도 도와 줄 수 있습니까?
빠른 응답을 보내 주셔서 감사합니다. 이것은 올바른 궤도에 있어야하지만 가이드 라인 속성을 변경한다고해도 결과가 동일합니다. '{ "guideline"=> { "content"= "새 내용", "hospital"=> "new hospital", "title "사용자 ID"= 781720531 LIMIT 1 (0.1ms) SAVEPOINT active_record_1 가이드 라인 있음 (0.2 (0)) 사용자로드 (0.3ms) "사용자" "병원"= "새 병원") LIMIT 1 (0.1ms (ms)) "병원"= "새로운 병원") ROLLBACK TO SAVEPOINT active_record_1 ' – tessad
@ user1109434 - Hm. 이 쌍이 이미 존재하지 않는 것이 확실합니까? 아직도 일어난 일에 대한 가장 좋은 설명 인 것처럼 보입니다. "New Whatever"는 여전히 매우 일반적이며 이전에 사용되었을 가능성이 큽니다. 기괴한 것을 시도하십시오 - "Fred"라고 불리는 병원에 대해 "체다"라는 지침을 말하십시오.이미 DB에없는 것을 보장 할 수 있습니다! –
그들이 존재하지 않을 것이라고 확신합니다. guidelines.yml에서 'one :'에 대한 값을 변경하고 동일한 메시지를 얻을 수 있습니다. guidelines_controller.rb에서 실행되는 다른 테스트와 관련이있을 수 있습니까? 나는 실행하기 전에 또 하나의 테스트를 가지고있다 : create. guidelines_controller_test.rb의 맨 위에서 나는 @ guideline = guidelines (: one) end '을 수행합니다. 첫 번째 테스트는이 테스트를 실행하려고 시도 할 때 가이드 라인 (: 하나)을 작성하는 것일 수 있습니다. 가이드 라인이 이미 존재합니까? – tessad