내가 시험에 노력하고 방법의 예외모의 phpunit을
try {
$fooClass->doStuff(); // Throws \Lib\Custom\Exception
}
catch (\Lib\Custom\Exception $exception) {
return false;
}
나는 반환이 거짓 테스트 할 같은 시도 캐치를 가지고,하지만 내 시험 excecuted 때 사용자 정의 예외가로드되지 않습니다.
PHP 단위는 수업을 조롱 할 수있는 옵션이 있지만 예외로 사용할 수 없습니다. Argument 1 passed to PHPUnit_Framework_MockObject_Builder_InvocationMocker::willThrowException() must be an instance of Exception, instance of Mock_Exception_c4dd9394 given
어떻게 제대로 기능을 테스트하기 위해이 예외를 조롱하기 :
$exceptionMock= $this->getMockBuilder(\Lib\Custom\Exception::class)->getMock();
$fooClassMock = $this->getMockBuilder(fooClass::class)->getMock()
->method('doStuff')
->willThrowException($exceptionMock);
는 나에게 folowing 예외를 부여?
'\ Lib \ Custom \ Exception'은'\ Exception'을 연장합니까? – xmike
예,하지만 composer.json 자동로드에 없습니다. –
그래서 mock이 생성되면'\ Exception'의 자식이 아닌 것처럼 보입니다. – xmike