8
對於下面的代碼,的PHPUnit:斷言參數時將它傳遞給模擬對象
$mockObject->expects($this->at(0))
->method('search')
->with($searchConfig)
->will($this->returnValue([]));
這條線將自動做出assertensure,當它調用方法search
它必須包含$searchConfig
參數。在這種情況下,我們必須提供完全匹配的$searchConfig
,但有時它很難,如果它是一個數組或對象。
是否有任何可能的方法讓PHPUnit調用某種特定的方法來聲明它包含參數傳入方法,因爲我們想要?
例如,我可以創建閉合功能以如下斷言,而不是使用->with()
方法
function ($config){
$this->assertFalse(isset($config['shouldnothere']));
$this->assertTrue($config['object']->isValidValue());
}
我總是忘了驗證多個參數時使用'回報TRUE'。 – Michiel