0
另一個類中使用的PHPUnit模擬方法? 例子:另一個類中使用的PHPUnit模擬方法
class Main {
function makePayment() {
$pp = new PayPalSOAPSomeClass();
return $pp->doExpressCheckout();
}
}
在測試我想測試我的主類和模擬doExpressCheckout()方法,我不工作的代碼進行測試:
public function testStub() {
$stub = $this->getMock('PayPalSOAPSomeClass');
$stub->expects($this->any())
->method('doExpressCheckout')
->will($this->returnValue(false));
$pp = new Main;
$this->assertEquals(true, $pp->doExpressCheckout());
}
如果我不喜歡你說,爲什麼我需要嘲弄?我可以寫成$ this-> assertEquals(true,false);因爲在模擬我設置虛假的返回值 – Actimele
DI後,注入類具有公共屬性,我可以如何設置此屬性? – Actimele
是的,你可以,而且工作範圍非常有限。之後,您將希望更徹底地測試此代碼並獲得更復雜的返回結果,例如響應,錯誤等...... Mocking允許您的代碼仍然調用正確的內部函數,以確保代碼在返回的數據上相應地運行。你可以得到參考號碼,並確保它們是正確的。帳戶餘額,處理錯誤等...所有這些都可能由模擬程序返回,您的庫代碼會測試它以確保您的模塊正確處理所有響應。 –