私は単純なユースケースを持っています。モック オブジェクトがデフォルト値を返すようにする setUp メソッドが必要です。
$this->myservice
->expects($this->any())
->method('checkUniqueness')
->will($this->returnValue(true));
しかし、いくつかのテストでは、別の値を返したい:
$this->myservice
->expects($this->exactly(1))
->method('checkUniqueness')
->will($this->returnValue(false));
過去に C++ 用の GoogleMock を使用したことがあり、「returnByDefault」またはそれを処理する何かがありました。これが PHPUnit で可能かどうかはわかりませんでした (API ドキュメントがなく、必要なものを見つけるためにコードを読むのが難しい)。
$this->myservice
セットアップで、モックまたはテストする必要がある他のものにそれを渡すため、新しいモックに変更することはできません。
私の唯一の他の解決策は、セットアップの利点を失い、代わりにテストごとにすべてのモックを構築する必要があることです。