Я довольно новичок в phpunit и насмешливо, и я хочу протестировать Listener в моем проекте symfony2, что является слушателем исключения ядра.PHPunit mock - вызов функции в возвращаемом макете
Это класс я хочу, чтобы тест:
public function onKernelException(GetResponseForExceptionEvent $event)
{
$code = $event->getException()->getCode();
if($code == 403)
{
$request = $event->getRequest();
$session = $request->getSession();
$session->getFlashBag()->add('notice', 'message');
$session->set('hardRedirect', $request->getUri());
}
}
И первый я просто хотел проверить, так что ничего не происходит, если код 404, это испытание я писал:
public function testWrongStatusCode()
{
$exceptionMock = $this->getMock('Exception')
->expects($this->once())
->method('getCode')
->will($this->returnValue('404'));
$eventMock = $this->getMockBuilder('Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent')
->disableOriginalConstructor()
->getMock();
$eventMock->expects($this->once())
->method('getException')
->will($this->returnValue($exceptionMock));
//here call the listener
}
, но PHPunit говорит, что функция getCode никогда не вызывалась.
На самом деле я пробовал это, прежде чем я отправил и не работал. Аналогичная ошибка. Метод должен был называться 1 раз, фактически называемый 0 раз. Я также var_exported класс $ event-> getException(), и это был класс Mock_Exception. – ghostika
Хорошо, я отредактировал свой ответ – Cyprian
Спасибо, это было решение. Я постараюсь не забывать об этом в будущем. – ghostika