【发布时间】:2013-08-25 05:02:12
【问题描述】:
我使用 TYPO3 6.1。
我实际上尝试使用注入存储库的 phpunit 来测试一个方法。
$mock = $this->getMockedRepository(
'\\MyExt\\Domain\\Repository\\MyRepository',
array(
'findByUid' => array('count' => 0, 'return' => array()),
)
);
$this->tokenHelperObj->injectMyRepository($mock);
getMockedRepository 函数只是一个助手,它从 phpunit 调用 getMock 函数。在其他情况下,此功能有效。在我的助手类中,我只使用依赖注入,如
/**
* myRepository
*
* @var \MyExt\Domain\Repository\MyRepository
* @inject
*/
protected $myRepository;
当我调用测试时,我得到了
Call to undefined method Class::injectActivityRepository()
我不想为我使用的不同存储库编写所有注入方法。还有其他方法可以模拟注入的存储库吗?
【问题讨论】:
-
什么是
$this->tokenHelperObj以及如何在扩展代码(而不是测试)中获取存储库? -
$this->tokenHelperObj是我的夹具类,它在设置时初始化,我想测试。我用@inject注入我的存储库。