![](/img/trans.png)
[英]Do I need to test each implementation of an interface to test the interface?
[英]How do I test an interface that has no implementation
我有一個接口及其實現。 我正在為JIRA開發插件。 我剛剛決定了它的設計,但是沒有這樣的實現。 當它沒有方法時,我有點不知道如何進行測試。 有人可以幫忙嗎? 謝謝..
package com.cerner.jira.plugins.esig.servicemanager;
import java.util.List;
import com.atlassian.jira.issue.Issue;
import com.cerner.jira.plugins.esig.issuetab.*;
public interface EsignatureManager {
public List<EsignatureTabPanelData> getElectronicSignatures(Issue paramIssue);
}
我有一個實現這個的類...
package com.cerner.jira.plugins.esig.
import java.util.List;
import com.cerner.jira.plugins.esig.customfields.UnameCustomField;
import com.atlassian.jira.issue.Issue;
import com.cerner.jira.plugins.esig.issuetab.EsignatureTabPanelData;
public class EsignatureManagerImpl implements EsignatureManager {
UnameCustomField unamecustomfield;
@Override
public List<EsignatureTabPanelData> getElectronicSignatures(Issue paramIssue) {
return null;
}
}
無法對接口進行測試,也不能對其進行編譯,因為它可以完成它應該執行的所有功能。 您不能測試無所事事,例如接口。
測試實現接口的類。 如果您正在執行測試驅動的開發,請編寫測試以查找期望getElectroniceSignatures返回的內容,可能是指定類型的非空列表? 如果不是,那么請繼續並首先在類中實現接口成員,然后在完成預期的工作后為接口成員的類實現編寫測試方法。
我猜您可以從這樣的事情開始,並隨着對方法的更多了解來更改測試。
@Test
public void getElectronicSignatures(){
fail("Not implemented yet");
}
我不知道這是否是您特定(JIRA特定)用例的答案,但是:可以測試一個接口:您可以使用反射來檢查該接口是否提供了特定的方法,注釋等。(但是我假設您是指JIRA中的“測試”?)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.