我想知道是否需要为通用接口编写JUNIT测试,在这种情况下我有通用接口:
public interface Operable <T> {
public T suma(T ele1);
public T resta(T ele1);
public T division(T ele1);
public T multiplicacion(T ele1);
}
实现该接口的两个类:
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测试,但我真的不知道是否有必要对接口进行测试(它什么都不做)
谢谢
答案 0 :(得分:1)
没有。接口定义调用者和被调用者之间的契约。单元测试应验证此接口的实现是否符合此合同。
请注意,如果您使用的是Java 8并且有&#34;默认方法&#34;在你的接口中,它意味着在接口中添加了一部分实现。在这种情况下,这些方法必须经过单元测试。
答案 1 :(得分:1)
测试只适用于类,但是当您为类编写测试时,可以使用该接口作为参考。 所以简短的回答是否定的。