私はこのケースでは、私は一般的なインタフェース持って、一般的なインタフェースのためのJUnitテストを書くことnecesaryであるかどうかを知りたい:そのインターフェイスを実装しJUnitのテスト汎用インタフェースのJava
public interface Operable <T> {
public T suma(T ele1);
public T resta(T ele1);
public T division(T ele1);
public T multiplicacion(T ele1);
}
そして、2つのクラスを:
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テストをしましたが、私は再していませんインタフェースのためのテストを行う必要がある場合に味方
が
インターフェイスについて何をテストしますか?それはコンパイルされるか、コンパイルされません。 –
それは動作します、私はそのような種類のインタフェースをテストする方法があるかどうか、またはそれをテストする必要があるかどうかを知りたいのです。 – Alejandro
'interface'sは機能を提供しません。実装クラスの単なる契約*です。したがって、これらの実際のクラスは、必要な振る舞いを提供するため、これらのクラスをテストするのが最も理にかなっています。あなたはインターフェースのためにどのような振る舞いをテストしますか?彼らは誰も持っていない。 – QBrute