我通常在我的对象上使用 getter 和 setter 方法,我可以通过以下代码在 SimpleTest 中将它们作为模拟对象进行测试:
Mock::generate('MyObj');
$MockMyObj->setReturnValue('getPropName', 'value')
但是,我最近开始使用魔法拦截器(__set() __get())并访问如下属性:
$MyObj->propName = 'blah';
但是我很难使模拟对象具有通过使用该技术访问的特定属性。
那么是否有一些特殊的方法可以在 MockObjects 上设置属性。
我试过做:
$MockMyObj->propName = 'test Value';
但这似乎不起作用。不确定是我的测试主题、模拟、魔术拦截器还是 SimpleTest 导致该属性无法访问。
所以,总结一下:
我可以在我的模拟对象上模拟方法,但是在模拟模拟对象的类属性时遇到了麻烦。是否可以在 Simpletest 中设置模拟对象的属性?
欢迎任何建议。