1
我嘲笑的對象,寫像這樣的測試...傳遞一個嘲笑對象PHPUnit中/ Laravel實例
public function test_mocked_object(){
$purchase = new Purchase();
$purchase_m = \Mockery::mock($purchase);
$purchase_m->shouldReceive('internalMethod')->andReturn('GOLD');
$purchase_m->testMethod('test');
}
testMethod()
包含internalMethod()
一個電話,是這樣的...
public function testMethod($string){
$this->internalMethod();
}
...但時間執行到達調用$this->internalMethod()
,$this
現在是原始$purchase
對象的實例,而不是嘲笑$purchase_m
對象的實例。
因此,函數調用$this->internalMethod()
不會像我們希望的那樣返回「GOLD」。
任何指針將不勝感激。