インターフェイスと、そのインターフェイスを実装し、そのメソッドをオーバーライドするクラスがあります。
public interface Intr {
public int method1();
public int method2();
}
public class example implements Intr{
@override
public int method1()
{
//stmts
}
@override
public int method2(){
//stmts
}
}
JUnit テストを作成して、テストにクラスを実装せずにそのインターフェイスをテストしたいのですが、次のようなコードを使用しました。
public class TIntr {
private Intr interface;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
@Test
public Object testMethod1() {
try{
int result = interface.method1();
assertEquals(something, result);
}catch(Exception e){
fail("Test Failed!!");
}
@Test
public Object testMethod1() {
try{
int result = interface.method2();
assertEquals(something, result);
}catch(Exception e){
fail("Test Failed!!");
}
}
しかし、クラスからインスタンスを作成せず、型インターフェイスから変数のみを作成したため、メソッドの実行は常にnull値を生成するため、テストは常に失敗します。