PHPUnit Mock不会过滤或忽略调用

时间:2013-09-11 00:08:38

标签: php unit-testing magento phpunit

我有一个工厂,所以这个模拟方法叫做“getModelMock”。 当第一个参数是“template_text”时,它将setData方法重写为另一个存储给定参数的函数“fetchArgs”。

$coreEmailTemplateMock = $this->getModelMock(
    'core/email_template',
    array('setData')
);
$coreEmailTemplateMock
    ->expects($this->any())
    ->method('setData')
    ->with($this->equalTo('template_text'))
    ->will($this->returnCallback(array($this, 'fetchArgs')));

$ this-> replaceByMock('model','core / email_template',$ coreEmailTemplateMock);

方法“setData”将在setData('template_text', 'foo')之类的某个时间被调用。我知道,因为没有“with”子句,我可以看到已经放入该函数的每个参数。

所以我理解第一个参数IS“template_text”,我也应该看到“foo”。

如果没有with(),我会看到每个被解析过的论点(我的fetchArgs都会这样做)。

with()我什么也看不见。

这里出了什么问题?我使用的with()出了什么问题?

提前谢谢! 欢呼声

0 个答案:

没有答案