2011-06-14 3 views
1

디버깅 할 때 손실이 자주 발생합니다. RSpec은 단지RSPec의 오류 메시지를 좀 더 통찰력있게 만들 수있는 방법이 있습니까?

expected redirect to "/user_session/new", got no redirect 
expected success? to return true, got false. 

을 알려주지 만 디버깅하기가 어렵다는 것을 나에게 말해주기 때문에

가 내장되어 있습니다. RSpec 및 변경할 수 없거나 어떤 종류의 구성 것입니다.

+0

무엇을 말하지 않습니까? 그것은 "리디렉션이 없다"고 말했습니까? – Dogbert

+0

대신에 무슨 일이 일어 났습니까. 성공을 얻은 것처럼, 404를 얻었고, 다른 것을 얻었습니다. 그것은 실패의 원인을 확인하려고 할 때 도움이되지 않습니다. 먼저 일어난 일을 먼저 발견해야합니다. – loosecannon

+0

예를 들어,'response.should be_success'는 '201 created'을 얻었지만 false라고 말하면 false를 반환합니다. 내가 왜 실패했는지에 대해 혼란스러워했다. – loosecannon

답변

2

테스트 프레임 워크는 일반적으로 실제 결과가 예상 결과와 같다고 주장 할 수 있으며, 해당 어설 션이 실패하면 예상 결과와 실제 결과를 인쇄합니다.

할 수있는 일이 그다지 많지 않습니다. 당신이 찾고있는 것 같아요 소프트웨어의 부분에 마법의 직감이다. 어설 션이 실패하는 두 경우 인쇄,

response.status_code.should == 200 

이 예상 status_code와 실제 status_code을 비교하여 자신의 평등을 주장하고 :

같은 것을보십시오.

+0

나는 RegEx'response.status = ~/\ A2 \ d \ d /'를 사용하여 끝내었다. 감사! – loosecannon

관련 문제