多かれ少なかれ一連のキーと値のペアを格納するタイプ 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"