我有一個服務類的樣機。 它的定義是這樣的我setUp
功能PHPUnit樣機問題
$this->myServiceMockup = $this->getMockBuilder(MyService::class)
->disableOriginalConstructor()
->setMethods(['myMethod'])
->getMock();
在我的測試功能,我設置的期望它是這樣的。
$this->myServiceMockup->expects($this->once())
->method('myMethod')
->with($this->exactly(1), 'myName')
->willReturn($this->exactly(1));
那麼這是什麼意思是,當我應該觸發myMethod的功能只有一次,這樣它會返回整數1
所以方法我測試了該行代碼。
$myIntValue = $this->myService->myMethod($number, $name);
此行$myIntValue
後,當我運行測試應該是1和測試應該繼續,那麼這是我對這個的理解。
而是我得到這個錯誤
預期失敗的方法名是等於當 調用1時間(s)參數0調用
我\路徑\爲\類\爲MyService: :myMethod(1,'myName')不符合 預期值。
1與期望的類型「對象」不匹配。
沒有任何意義,因爲myMethod
期待一個整數和一個字符串。
public function myMethod($number, $name)
{
return $this->table->save($number, $name);
}
有人可以向我解釋我在這裏做錯了什麼,因爲我沒有想法。