1

我有一个工厂,所以这个模拟方法称为“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”子句,我可以看到已放入该函数的每个参数。

所以据我了解,第一个参数有时是“template_text”,我也应该看到“foo”。

没有with()我看到曾经被解析过的每一个论点(我fetchArgs就是这么做的)。

with()我什么都看不见。

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

提前致谢!干杯

4

0 回答 0