我对模拟对象有疑问...
我有类“示例”,我需要测试 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”?