我对 Java 8 中引入的接口中的默认方法实现感到有点困惑。我想知道我们是否应该专门为接口及其实现的方法编写 JUnit 测试。我尝试用谷歌搜索,但找不到一些指导方针。请指教。
这取决于方法的复杂性。如果代码很简单,则实际上没有必要,例如:
public interface MyInterface {
ObjectProperty<String> ageProperty();
default String getAge() {
return ageProperty().getValue();
}
}
如果代码比较复杂,那么你应该编写单元测试。例如,这个默认方法来自Comparator
:
public interface Comparator<T> {
...
default Comparator<T> thenComparing(Comparator<? super T> other) {
Objects.requireNonNull(other);
return (Comparator<T> & Serializable) (c1, c2) -> {
int res = compare(c1, c2);
return (res != 0) ? res : other.compare(c1, c2);
};
}
...
}
如何测试呢?
从接口测试默认方法与测试抽象类相同。
这已经得到了回答。 https://stackoverflow.com/questions/243274/best-practice-with-unit-testing-abstract-classes
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)