我有流浪类:
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测试?我知道,对于单位测试,我应该测试Chortone和Childtwo的混凝土实现,但是当我具有相同的Method2实现时,我不想重复测试。但是,将其放入这些课程之一似乎也不是不错的。
ofc,对于带有默认实现而不是接口的抽象类,问题是相同的。
您可以通过在测试中创建自定义子类实例(私有测试)来创建ParentTest
类,并在此处写测试,该实例允许测试默认方法。