使用JUnit的Cobertura报告



我正在使用JUnit进行单元测试,但不知何故,Cobertura报告没有涵盖该测试。我不太清楚我做错了什么。

我正在测试以下方法:

public List<LocateIPAddressServiceRequestParameter> getLocateIPAddressServiceRequestParameters(String ipAddress) {
    List<LocateIPAddressServiceRequestParameter> findParams = new ArrayList<LocateIPAddressServiceRequestParameter>();
    if (ipAddress != null) {
        findParams
                .add(new LocateIPAddressServiceRequestParameter(
                        LocateIPAddressServiceRequestParameter.PARAMETERS.ipAddress,
                        ipAddress));
    }
    return findParams;
}

这是我的JUnit测试:

@Test
public void testGetLocateIPAddressServiceRequestParameters() throws EISClientException, Exception {
    String ipAddress = null;
    EISThirdPartyClient client = new EISThirdPartyClient(new ClientConfiguration(), "test");
    List<LocateIPAddressServiceRequestParameter> parameter = client.getLocateIPAddressServiceRequestParameters(ipAddress);
    for (LocateIPAddressServiceRequestParameter params : parameter) {
        if (params.key == LocateIPAddressServiceRequestParameter.PARAMETERS.ipAddress) {
            ipAddress = params.value;
            fail("Parameter is null");
        }
    }
}

有人能告诉我我做错了什么吗?为什么Cobertura报告没有涵盖这一点。谢谢,

方法的第二行检查ipAddress是否为null,而测试将通过null作为参数。

JVM可能正在进行一些优化。。。当ipAddress不是null时,编写另一个测试并进行比较。

最新更新