我有索引方法
public function indexAction()
{
$em = $this->getDoctrine()->getManager();
$entities = $em->getRepository('AppBundle:Blog')->findAll();
return array(
'entities' => $entities,
);
} // End of method
当我尝试对此操作进行单元测试时,如下所示
public function testIndexAction()
{
$entityManager = $this->getMockBuilder('BlogController')
->disableOriginalConstructor()
->setMethods(array('getRepository'))
->getMock();
$entityManager->expects($this->once())
->method('findAll')
->will($this->returnValue(0));
} // End of method
它给我下面的错误
的appbundle \测试\控制器\ BlogController \ BlogControllerTest :: testIndexAction 方法名称的期望失败等于何时 调用1次。
预计方法被调用1次,实际上被称为0次。
答案 0 :(得分:0)
$ entityManager被构建为BlogController
的模拟(在全局命名空间中)没有意义。
因此,BlogController::findAll
未被调用是完全合乎逻辑的。
因此,您的测试只是创建模拟,但不会对它们执行任何操作。所以没有理由调用任何方法。