我有一个工厂,所以这个模拟方法称为“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()
吗?
提前致谢!干杯