加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

如何对从具有大量依赖关系的基类派生的类进行单元测试?

发布时间:2020-05-23 01:43:09 所属栏目:程序设计 来源:互联网
导读:我试图在我继承的一些 Java代码中对一个类进行单元测试. 问题是它来自一个类,它是公司应用程序的一部分.在构造时,基类会执行各种“聪明”的东西,初始化与运行时所需的各种服务的连接. 但是对于单元测试目的,我不需要任何这些.我只需要创建一个派生类的实例,然

我试图在我继承的一些 Java代码中对一个类进行单元测试.

问题是它来自一个类,它是公司应用程序的一部分.在构造时,基类会执行各种“聪明”的东西,初始化与运行时所需的各种服务的连接.

但是对于单元测试目的,我不需要任何这些.我只需要创建一个派生类的实例,然后我就可以锻炼它.如果任何测试特别需要层次结构的一部分,我可以嘲笑它们.

那么我该如何打破这种依赖呢?

所以你有一个基类和一个扩展类.看看你是否可以重构扩展类以不再扩展基类,而是使用它.所以你第一次调用parent :: fooBar()时,你现在调用this.baseInstance.fooBar().这样,您可以注入另一个baseInstance用于测试目的.

如果您确实需要扩展基类以覆盖某些内容,请将该功能提取到第三个类,并使扩展类成为代理.扩展类除了在第三个类上调用方法之外别无其他.例如.

protected fooBar() {
    return this.realImplementation.fooBar();
}

这样,您可以测试实际的实现,而无需实例化基类.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读