[英]How can i test an interface?
我想為接口做一個JUnit測試用例,因為您知道我無法從該接口創建對象,並且我不想在該測試中顯示任何類名,我只想測試該接口,並且只在測試中使用它的方法。
所以,我不能實例化一個對象:
Interface obj = new Class();
因為我不會使用任何類方法,並且我也不想將接口實例化為:
Interface var = new Interface{//methods};
因為我不想覆蓋測試中的方法。
更新:
i have an interface and a class which implements it:
public interface inter {
public void method1();
public void method2();
}
public class BlaBla implements inter{
@override
public void method1(){//stuff}
@override
public void method2(){//stuff}
}
我想測試BlaBla,但要處理其接口(內部)。
測試接口的唯一方法是創建一個實現該接口的具體類,將其實例化並測試該類。 您不能直接測試接口,因為如您所知,它不能被實例化,沒有任何東西可以測試。 這應該很明顯:接口只是方法簽名的集合,沒有方法主體-因此沒有要測試的行為。
接口中沒有要測試的功能(因為它無法實例化;它沒有方法實現)。 因此,JUnit無法對其進行任何處理。
您可以為單元測試創建一個抽象基類 。 對於實現接口的特定類,單元測試將僅擴展抽象基類。
抽象基類可以測試事情,應該持有,像close
后open
或其他東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.