1

重複の可能性:
PHPUnit モック オブジェクトと静的メソッド
の単体テストと静的メソッド

私は PHPUnit 3.6.10 を使用していますが、ドキュメントで静的メソッドをモックする良い例を見つけることができないようです。具体的には、メソッド a() を持つクラス A があります-それを A->a() と呼びます-これは、戻り値をモックする必要がある B::b() を呼び出します。

class A {
    function a() {
        return B::b();
    }
}

class B {
    static function b() {
        return 5;
    }
}

a() のテスト関数は次のようになります。

class A_Test {
    function test_a() {
        // what should the code look like here?
    }
}

A->a() が B::b() を返すことを純粋にテストしているので、B::b() がどのように機能するかには関心がなく、B::b() の戻り値をモックできます。 (例えば、'foo' を返すために) A->a() を呼び出したときに 'foo' が返されることを確認します。これはどのように行うことができますか?

4

0 に答える 0