テストでモック オブジェクトを取得しました。実際のオブジェクトである PageRepository は、__call() を使用して魔法のメソッドを実装しているため、$pageRepository->findOneByXXXX($value_of_field_XXXX) を呼び出すと、そのパラメーターに一致するレコードをデータベースで検索します。
そのメソッドをモックする方法はありますか?
実際のメソッド呼び出しは次のようになります。
$homepage = $pageRepository->findOneBySlug('homepage');
テストは次のようになります。
$mockPageRepository->expects($this->any())
->method('findOneBySlug')
->will($this->returnValue(new Page()));
しかし、うまくいきません。PHPUnit はメソッド呼び出しを認識しません。メソッドを表示する唯一の方法は、PageRepository でメソッドを明示的に定義することです。