我有一個類,將要在測試後嘲笑:如何告訴模擬在某些情況下調用原始方法?
class Original {
function calculate($a) { ... }
}
測試:
$mock = $this->getMock('Original',['calculate']);
$mock->expcets($this->any())
->will($this->returnValueMap([
[1,'ABC'],
[2,'BCD']
// somehow tell $mock to call the original calculate() here
);
我想告訴$mock
回退到原來的calculate()
在一定條件下,例如,如果參數不符合任何提供的檢查。正如我通過閱讀PhpUnit代碼所理解的,如果找不到匹配,調用者將返回null: - ?
寫作測試的一個咒語是你要小心保持它們的簡單。你試圖達到的複雜情況似乎並不是我想說的。只是說,使用PHPUnit mocks/stubs可能是錯誤的工具,而應該編寫自己的存根來測試該類。 – hakre