当前位置:  开发笔记 > 编程语言 > 正文

如何对继承对象进行单元测试?

如何解决《如何对继承对象进行单元测试?》经验,为你挑选了1个好方法。

当您使用合成时,您可以模拟测试中的类所依赖的其他对象,但是当您使用继承时,您无法模拟基类.(或者你呢?)

我通常试图更喜欢组合而不是继承,但有时候继承似乎是最好的工具 - 好吧,至少在单元测试之前.

那么,你如何测试继承?或者你只是把它作为不可测试的废物并使用组合而不是?

注意:我主要使用PHP和PHPUnit,因此非常感谢帮助.但是知道在其他语言中是否存在解决这个问题的方法也很有趣.



1> munificent..:

使用一组镜像类层次结构的单元测试.如果您有基类Base和派生类Derived,那么拥有测试类BaseTests并从DerivedTests派生.BaseTests负责测试Base中定义的所有内容.DerivedTests继承了这些测试,并且还负责测试Derived中的所有内容.

如果要在Base中测试受保护的虚拟方法(即Base与其后代类之间的接口),那么创建一个测试该接口的仅测试派生类也是有意义的.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有