当谈到PHP中神奇方法的单元测试实现时,建议调用这些方法的方法是什么?
我认为有三种选择:
$object->__get('someValue');$object->someValue; \\ Where __get() is implemented.是否有任何单元测试老兵可以解释哪一个(如果有的话)将是显而易见的选择,为什么可能?
(这可能是在接近主观/辩论的领域,但我会问,希望在处理这个问题时,我应该考虑一些普遍接受的原则。)
发布于 2012-10-30 22:51:48
你应该测试可观察的行为。因此,毫无疑问,第二个测试($obj->property)必须进行测试。
至于实际上直接调用getter,这更像是一个判断的调用。一旦你说了__get('someProperty'),在我看来,你已经确定它是一个神奇的属性。由于我试图永远不改变测试,如果出于某种原因,我希望它成为一个普通的、古老的非魔法属性,这会使事情变得相当复杂。在好的方面,您可以调用getter并以另一种方式获取属性,并确保它们具有完全相同的结果。
https://stackoverflow.com/questions/13148669
复制相似问题