測試類需要在具體類中將方法定義爲靜態。但具體類從一個接口實現了一個方法。測試類要求具體類中的方法是靜態的
該接口不允許實現的方法是靜態的。
接口:
public interface ArithmeticSkeleton {
public int operation(int a, int b);
}
具體類
public class Divide implements ArithmeticSkeleton{
public int operation(int a, int b) {
return (a/b);
}
}
JUnit測試用例:
public class ArithmeticSkeletontest {
private ArithmeticSkeleton as;
@Test
public void testDivision() throws Exception {
assertEquals("5", Divide.operation(10, 2));
}
}
然而,噸他測試代碼不允許Divide.operation被訪問。
您不能訪問的操作方法,以這樣一種方式如果你想這樣做,你必須使用靜態方法,否則只需要新的Divide()。操作(10,2)就足夠了 – imoteb
除了在這裏使用答案外,還需要將''5''更改爲' 5'內'assertEquals'來做這個測試通過。 –