Я пытаюсь издеваться над следующей строкой:
$this->entity_manager->getRepository('Bundle:Core')->getActive();
как я могу издеваться над этой строкой?
Я знаю, что вы можете издеваться над getRespository следующим образом:
$entityManagerStub = $this->getMockBuilder('Doctrine\ORM\EntityManager')->disableOriginalConstructor()->getMock();
$entityManagerStub->method('getRepository')->with('Bundle:Core');
но как я могу посмеяться над функцией getActive?
может ли что-то подобное сработать?
$entityManagerStub->method('getRepository')->method('getActive')->with('Example');
ПОСТ РЕДАКТИРОВАНИЕ С НОВЫМ РЕШЕНИЕМ
Новая библиотека для решения ложных задач значительно упростила мою жизнь:
https://github.com/danrevah/ShortifyPunit
$entityManagerStub = ShortifyPunit::mock('Doctrine\ORM\EntityManager');
ShortifyPunit::when($entityManagerStub)->getRepository('Bundle:Core')->
getActive()->returns($mockingResponse);
Других решений пока нет …