我有一个工厂,所以这个模拟方法叫做“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()
出了什么问题?