繁体   English   中英

在哪里测试超类的默认方法实现

[英]Where to test default method implementation of superclass

我有休闲课:

Parent.java

interface Parent{
    void method1();

    default void method2(){
       //some default impl
    }
}

ChildOne.java

class ChildOne implements Parent{
    @Override
    void method1(){
        //ChildOne specific implementation
    }
}

ChildTwo.java

class ChildTwo implements Parent{
    @Override
    void method1(){
        //ChildTwo specific implementation
    }
}

问题是:我应该在哪里进行方法2的测试? 我知道对于单元测试,我应该测试具体的实现,以便ChildOne和ChildTwo,但是当我具有method2的相同实现时,我不想为它重复测试。 但是,将其放入这些类之一似乎也不是一件好事。

Ofc,对于具有默认实现而不是接口的抽象类,问题是相同的。

您可以通过在测试中创建一个自定义的子类实例(该测试专用)来创建ParentTest类,然后在其中编写测试,以测试默认方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM