如何测试没有实现的接口

时间:2014-04-03 15:18:07

标签: java junit mocking

我有一个接口及其实现。我正在为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;
    }

}

4 个答案:

答案 0 :(得分:1)

接口无法测试,如果它编译它会使它应该做的所有功能。你无法测试什么都不做的事情,就像界面一样。

答案 1 :(得分:1)

测试实现接口的类。如果您正在进行测试驱动开发,请编写测试以查找您希望getElectroniceSignatures返回的内容,可能是您指定类型的非空列表?如果不是,那么首先在类中实现接口成员,然后为接口成员的类实现编写一个测试方法,一旦你做了你期望的事情。

答案 2 :(得分:0)

我想你可以用这样的东西开始它并改变你的测试,因为你知道更多关于你的方法。

@Test
public void getElectronicSignatures(){
    fail("Not implemented yet");
}

答案 3 :(得分:0)

我不知道这是否是您特定(JIRA特定)用例的答案,但是:可以测试界面:您可以使用反射来检查界面是否提供特定方法,注释等(但我认为你在JIRA的背景下意味着“测试”?)。