モデルのモックを使ってテストしたいのだが

うーん。

yiiへの期待のひとつに、PHPUnitが使えてPHPUnitのモックを利用できることがあったのですが、厳しい感じです。

id:hiromi2424:20110306 にあるような、サービスレイヤを設けたいのです。がががががががががが、Yiiは、CakePHPのClassRegistryのようなものを介さず、直接newしたりモデルのstaticメソッドににアクセスしています。これを解決するmockクラスを簡単に生成する方法を見出せずにいます。

  • モデルクラスへアクセスする前に、モデルのモッククラスをinculdeする
  • PHPUnitのgetMocK、getMockClassを駆使する

とかで解決できないか悩んでいます。モッククラスを書きたくないし、何よりサービスレイヤのテストでフィクスチャに依存したくないんです。