我试图嘲笑以下一行:
$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');
答案 0 :(得分:0)
以新解决方案编辑的帖子
处理模拟问题的新库使我的生活更轻松: https://github.com/danrevah/ShortifyPunit
$entityManagerStub = ShortifyPunit::mock('Doctrine\ORM\EntityManager');
ShortifyPunit::when($entityManagerStub)->getRepository('Bundle:Core')->
getActive()->returns($mockingResponse);