我正在遵循Zend Framework 2网站上关于单元测试的指南。我的"骨架"应用程序与教程略有不同,因为我集成了 Doctrine 2,而不是使用 Zend 的内置数据库适配器。
在我的专辑控制器的 indexAction() 中.php我使用以下代码片段来检索所有专辑记录:
return new ViewModel(array(
'albums' => $this->getEntityManager()->getRepository('Album'Entity'Album')->findAll()
));
如何在 IndexControllerTest.php 文件中的 testIndexActionCanBeAccessed() 中模拟它,以便它返回虚拟值?
感谢您的帮助。
创建实体管理器的模拟
创建专辑存储库的模拟
创建相册实体的模拟
那么使用 PHP 单元,您需要
create an $entityMock->expects($PHPUnit->once())->method('getRepository')->will($PHPUnit->returnValue($repositoryMock));
create a $repositoryMock->expects($PHPUnit->once())->method('findAll')->will($PHPUnit->returnValue(array($albumEntityMock));
根据您实现 PHPUnit 测试的方式,语法可能会有所不同,但这些步骤应该会在此过程中为您提供帮助。