首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单元测试魔术方法

单元测试魔术方法
EN

Stack Overflow用户
提问于 2012-10-30 22:44:20
回答 1查看 2.4K关注 0票数 5

当谈到PHP中神奇方法的单元测试实现时,建议调用这些方法的方法是什么?

我认为有三种选择:

  • 明确/直接地调用它们: $object->__get('someValue');

  • 间接地调用它们(使用任何旨在触发它们的操作): $object->someValue; \\ Where __get() is implemented.

  • 使用这两种方法调用它们。

是否有任何单元测试老兵可以解释哪一个(如果有的话)将是显而易见的选择,为什么可能?

(这可能是在接近主观/辩论的领域,但我会问,希望在处理这个问题时,我应该考虑一些普遍接受的原则。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-30 22:51:48

你应该测试可观察的行为。因此,毫无疑问,第二个测试($obj->property)必须进行测试。

至于实际上直接调用getter,这更像是一个判断的调用。一旦你说了__get('someProperty'),在我看来,你已经确定它是一个神奇的属性。由于我试图永远不改变测试,如果出于某种原因,我希望它成为一个普通的、古老的非魔法属性,这会使事情变得相当复杂。在好的方面,您可以调用getter并以另一种方式获取属性,并确保它们具有完全相同的结果。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13148669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档