java编写测试类继承关系_编写单元测试Java中的继承类

考虑

Java中的以下简单类层次结构

class Foo {

protected void someMethod(Bar bar) {

...

}

protected void someOtherMethod(Baz baz) {

...

}

}

class EnhancedFoo extends Foo {

@Override

protected void someMethod(Bar bar) {

...

}

}

我现在开始为这两个类编写JUnit单元测试.由于方法someMethod的契约对于这两个类都是相同的,因此对于这两个类,我需要基本上完全相同的测试方法(关于someMethod方法),这导致代码重复.使用多个覆盖方法为更丰富的类层次结构执行此操作时,感觉继承对可测试性不利.

此外,即使someFther方法someOtherMethod没有在ExtendedFoo中重写,我需要包含相关的ExtendedFoo测试,因为这仍然是合同,这个扩展的类和单元测试应该测试它.

是否有其他一些在Java中组织层次结构的方法更适合可测试性?是否有一些JUnit构造可以帮助缓解这个问题?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值