私は単純な使用例があります。私は私のモックオブジェクトは、デフォルト値を返すようになりますsetUpメソッドがしたい:PHPUnit Mock後で期待を変更する
$this->myservice
->expects($this->any())
->method('checkUniqueness')
->will($this->returnValue(true));
をしかし、その後一部のテストでは、私は別の値を返すようにしたい:
$this->myservice
->expects($this->exactly(1))
->method('checkUniqueness')
->will($this->returnValue(false));
私は以前はGoogleMock for C++を使っていましたが、それには "returnByDefault"やそれを扱うものがありました。私はこれがPHPUnitで可能かどうかわかりませんでした(apiドキュメンテーションはなく、コードは私が探したいものを見つけるために読むのが難しいです)。
$this->myservice
を新しい模擬に変更することはできません。セットアップでは、模擬やテストが必要な他のものに渡すためです。
私の唯一の解決策は、私がセットアップの利点を失う代わりに、すべてのテストのために私のすべてのモックを構築しなければならないということです。
この問題をどうやって解決できますか?とにかく 'setUp()'メソッドは呼び出されます。 –
@MassimilianoArioneはい、あなたは '$ this-> myservice'を再作成して戻り値を変更することができます – rndstr