我想知道是否有必要为通用接口(interface)编写 JUNIT 测试,在本例中我有通用接口(interface):
public interface Operable <T> {
public T suma(T ele1);
public T resta(T ele1);
public T division(T ele1);
public T multiplicacion(T ele1);
}
还有两个实现该接口(interface)的类:
public class Complex implements Operable<Complex> {
private final double real, imag;
public Complex(double real, double imag){
this.real = real;
this.imag = imag;
}
....
和
public class Rational implements Operable<Rational>{
private int numerator;
private int denominator;
public Rational(int num, int den){
if (den==0){
throw new IllegalArgumentException();
}
if (den<0){
num*=-1;
den*=-1;
}
numerator = num;
denominator = den;
}
...
我对类进行了 JUnit 测试,但我真的不知道是否有必要对接口(interface)进行测试(它什么也不做)
谢谢
最佳答案
没有。接口(interface)定义了调用者和被调用者之间的契约。单元测试应验证此接口(interface)的实现是否符合此约定。
请注意,如果您使用的是 java 8 并且接口(interface)中具有“默认方法”,则意味着接口(interface)中已添加了部分实现。在这种情况下,这些方法必须经过单元测试。
关于java - Junit Test 通用接口(interface) java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40606053/