在phpunit测试用例中的期望

时间:2015-09-18 10:19:31

标签: symfony phpunit

我有索引方法

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次。

1 个答案:

答案 0 :(得分:0)

$ entityManager被构建为BlogController的模拟(在全局命名空间中)没有意义。

因此,BlogController::findAll未被调用是完全合乎逻辑的。

因此,您的测试只是创建模拟,但不会对它们执行任何操作。所以没有理由调用任何方法。