PHPUnitでMockオブジェクトを使うで紹介したMockオブジェクトですが、これは元クラスを継承しているわけではないので当然ながら元クラスの実装は使えません。 ただテストする場面によっては、基本は元クラスの振る舞いをして、一部のメソッドだけMockにしたいという場合があります。 そこで元クラスを継承したMockオブジェクトを作ってみます。 元クラス < ?php class Hoge { // このメソッドはそのまま function execute() { if ($this->request()) { // OK return 1; } else { // NG return -1; } } // このメソッドをMockにしたい function request(&$db) { $db->query(); sleep(100); return true; } } ?> テストケース