Pythonのモジュールを真似して、Hogeというクラスを作り、$hoge->getFuga() で Hoge_Fuga のインスタンスが返る、というようにHoge_* を全てHogeのメソッド...
Pythonのモジュールを真似して、Hogeというクラスを作り、$hoge->getFuga() で Hoge_Fuga のインスタンスが返る、というようにHoge_* を全てHogeのメソッドで返すようにし、Hogeのモックを書くという方法を試したことがあった。Hogeの中身がいい感じにまとまっているのであれば、使い勝手は悪くなかった。PHPunitで依存関係にあるオブジェクトのテストコードを書く | nanoant - いま読んでます。