他の静的メソッドを使用するメソッドのテストが難しい理由が理解できたと思います。私がテストと言うとき、私は単体テストを考えています。
次の例を見てください。
クラス foo { 保護された $objA; パブリック関数 m1() { $objA = 新しい A(); $objA->show(); } パブリック関数 m2() { ショー(); } パブリック関数 m3() { $this->objA->show(); } パブリック関数 m4($objA) { $objA->show(); } }
- m1 は簡単にテストできますか? そのオブジェクトをモックできないからではないと思います。
- m2 は、スタティックがテストを困難にするケースですか?
- m3 はテスト可能な良い方法ですか?
- m4 はテスト可能な良い方法ですか?
私はこれを正しく理解しましたか?