このコードでタイプヒントを満たすモックを作成しようとしています(Mockery):
return \Mockery::mock('\Contracts\Helpers\iFileSystemWrapper');
またはこれ(PHPUnit):
return $this->getMock('\Contracts\Helpers\iFileSystemWrapper');
しかし、返されるモックはMockery\Mock Object
orと呼ばれMock_iFileSystemWrapper_a5f91049
ます。どちらのフレームワークでもまったく必要なもののインスタンスではない場合、これをどのようにタイプチェックすればよいでしょうか?
モック フレームワークが実際のクラスをロードしようとしているのはなぜですか? 実際のクラスが必要な場合は、実際のクラスを含めます。
この問題は、テストを書いているときに何度も私の作業を遅らせてきました。私は型ヒントをウィンドウの外に放り出し、代わりにクラス名をチェックするか、モックを使用するのが面倒なので、単純に本番オブジェクトを使用しようとしています。