2011-04-20 5 views
2

CakePHP 1.3에서 단위 테스트를 사용하고 있습니다. 내 응용 프로그램은 taught by the book로 매우 간단한 ErrorHandler를 사용합니다. 내 모델 중 하나가 잘못된 것이 있으면 $this->cakeError('myError')을 호출합니다.cakeError() throwing 테스트 중

이제 오류 처리기가 제대로 호출되었는지 확인하는 내 모델의 테스트 사례가 필요합니다.

SimpleTest는 expectError()을 제공하지만 표준 PHP 오류가있는 것으로 보입니다. CakePHP의 에러 핸들링은 다른 것이지만, expectError()는이 에러들을 발견하지 못합니다. 테스트에서 cakeError()가 호출되면 테스트 결과가 아닌 오류 메시지가 렌더링됩니다.

예상되는 cakeErrors는 어떻게 테스트 할 수 있습니까?

답변

0

부분 모의를 사용하고 cakeError 방법을 조롱 할 수 있습니다. 그런 다음 expectOnce을 사용하여 cakeError 메서드가 호출되도록 어설 션 할 수 있습니다. 예제 및 추가 설명은 documentation을 참조하십시오.

+0

감사합니다.이 방법이 좋습니다. 그래도 전에 모의를 보지 못했습니다. 모의 AppError 클래스를 생성 한 후에, 인스턴스를 생성해야하는 곳을 알 수 있습니까? 그래서 Cake은 원래 AppError 클래스 대신 실제로 사용합니다. – pixelistik

+0

원래 인스턴스를 쉽게 바꿀 수 없기 때문에 AppError 클래스를 모의하지 않습니다. 대신 나는 당신의 모델의 cakeError() 메소드를 조롱 할 것이다. – dhofstet

+0

물론, 위대한, 그 트릭을 할거야. 이 특정 정보를 추가하여 답변을 업데이트 하시겠습니까? – pixelistik

관련 문제