繁体   English   中英

如何测试void方法?

[英]How to test void method?

public void checkAlreadyUsedOrValidHealthDashBoardToken(ServiceCode serviceCode) {
    if(serviceCode.getHealthDashBoardToken().isEmpty()) {
        return;
    } else if(isAlreadyUsedHealthDashBoardToken(serviceCode)) {
        throw new GlobalException(ResponseType.SERVICE_ALREADY_USED_HEALTH_DASHBOARD_TOKEN);
    } else if(!isValidHealthDashBoardToken(serviceCode)) {
        throw new GlobalException(ResponseType.SERVICE_NOT_VALID_HEALTH_DASHBOARD_TOKEN);
}
}

@Test(expected = GlobalException.class)
public void checkAlreadyUsedOrValidHealthDashBoardTokenTest() {
    List<ServiceCode> serviceCodeList = new ArrayList<ServiceCode>();
    serviceCodeList.add(serviceCode);

    Mockito.when(serviceManageMapper.selectServiceByHashBoardToken((ServiceCode)notNull())).thenReturn(serviceCodeList);
    // execute test
}

我只想测试 void 方法。 我该如何执行测试? 请帮我。

一般来说,如果你想测试它应该有一个返回类型。 但是如果你想以这种方式进行测试,那么

@Test
public void checkAlreadyUsedOrValidHealthDashBoardTokenTest()
{
    <Enter prerequisite codes>
    int flag=0;
    try
    {
        checkAlreadyUsedOrValidHealthDashBoardToken(serviceCode);
    }
    catch(GlobalException ge)
    {
        if(GlobalException Response Type is SERVICE_ALREADY_USED_HEALTH_DASHBOARD_TOKEN)
        {
            falg=1;
        }
        else if(GlobalException Response Type is SERVICE_NOT_VALID_HEALTH_DASHBOARD_TOKEN)
        {
            flag=2;
        }
    }
    finally
    {
        assertEquals(flag,0/1/2);
    }

}

输入三种类型的数据并检查 0,1 和 2 状态。 这根本不是好的编码。 但它可能是你想要的东西。 注意。 一些代码大致编写为上面的逻辑,根据您的类实现输入正确的代码。

在我看来,我认为函数名有点太长了,但无论如何。

至于你的问题,你说的测试是什么意思? 调试? 如果是这样,我会在整个代码中散布打印语句来测试它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM