私は通常、オブジェクトに対してgetterメソッドとsetterメソッドを使用し、次のようなコードで操作することにより、SimpleTestでモックオブジェクトとしてテストすることに問題はありません。
Mock::generate('MyObj');
$MockMyObj->setReturnValue('getPropName', 'value')
ただし、最近、マジックインターセプター(__set()__get())を使用し、次のようなプロパティにアクセスし始めました。
$MyObj->propName = 'blah';
しかし、その手法を使用してモックオブジェクトにアクセスする特定のプロパティを作成するのは困難です。
したがって、MockObjectsにプロパティを設定する特別な方法があります。
私はやってみました:
$MockMyObj->propName = 'test Value';
しかし、これはうまくいかないようです。プロパティにアクセスできなくなる原因が私のテストサブジェクト、モック、マジックインターセプター、またはSimpleTestであるかどうかはわかりません。
したがって、要約すると:
モックオブジェクトのメソッドをモックアップできますが、モックオブジェクトのクラスプロパティをモックアップするのに問題があります。Simpletestでモックオブジェクトにプロパティを設定することは可能ですか?
どんなアドバイスも歓迎します。