0

多かれ少なかれ一連のキーと値のペアを格納するタイプ Config のオブジェクトがあるとします。値が配列の場合、配列を新しい Config インスタンスに変換し、配列の値を格納します。当然、これは複数のレベルで無限に続く可能性があります。

このタイプのオブジェクトをモックするための最良のアプローチは何でしょうか? 私は PHPUnit にかなり慣れていないので、非常に簡単な解決策が存在する可能性が非常に高いですが、現在、どのように進めればよいかわかりません。

これまでの私の経験に基づくと、Config のモックを作成しても、含まれている Config オブジェクトには反映されません (私の __set() マジック メソッドでは、基本的new self($array)$data.

オブジェクトの動作の例を次に示します。

$data = array(
    'one' => 'unus',
    'two' => 'duo',
    'three' => array(
        'a' => 'alpha',
        'b' => 'beta'
    )
);

$config = new Config($data);

// I should be able to do this:
echo $config->three->a;          // Outputs "alpha"
echo get_class($config->three);  // Outputs "Config"
4

1 に答える 1

0

テストを作成するための質問にはあまり文脈がありませんが、私の理解では、最も単純な用語であり、「->」をナビゲートして必要な値に到達できるようにしたいということです。

new StdClass の使用を検討する

例えば

$config = new StdClass;
$config->three = new StdClass;
$config->three->a = 'alpha';
于 2012-12-22T05:05:32.823 に答える