簡體   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