5

私のコードは次のようになります。

class A
{
    function foo(&$a, $b)
    {
        if ($a == 0) {
            return false;
        } else {
            $a = $b + 1;
            return true;
        }
    }
}

class B
{
    function foo1($a, $b)
    {
        $a = new A;
        $a->foo($a, $b);
        if ($a == 0) {
            return false;
        }
        echo $a;
        return true;
    }
}

の値を取得する必要があります$a
関数をモックする方法はfoo()?

4

1 に答える 1

1

PHPUnitは、モックメソッドに渡す前に引数のクローンを作成します。プリミティブ引数の回避策はありませんが、オブジェクトの場合は、非公開__cloneメソッドを追加してこの動作をブロックできます。

于 2012-09-18T23:58:11.147 に答える