【发布时间】:2013-09-12 21:04:33
【问题描述】:
我对模拟对象有疑问...
我有“示例”类,我需要测试 callMethod()
public function callMethod() {
$item = 0;
foreach($this->returnSomething() as $list) {
$item = $item + $list->sum;
}
return $item;
}
我有一个测试方法,我模拟“returnSomething”来返回一些数据,但问题是它没有调用模拟方法。
这是我模拟“returnSomething”并调用“callMethod”的测试方法的一部分。
$mock = mock("Example");
$mock->shouldReceive("returnSomething")->once()->withNoArgs()->andReturn($returnItems);
$result = $mock->callMethod();
是否可以在不更改“callMethod”定义并将 $mock 对象转发到该方法的情况下调用模拟的“returnSomething”?
【问题讨论】:
标签: php unit-testing mocking dependencies phpunit