2016-04-14 33 views
0

如何使用Mockito測試此公共靜態方法?如何使用Mockito測試此公開方法

public static Currency getByCurrencyCode(String pCurrencyCode) { 
    if (CURRENCY_CODE_USD.equalsIgnoreCase(pCurrencyCode)) { 
     return US_DOLLAR; 
    } 
    if (CURRENCY_CODE_HKD.equalsIgnoreCase(pCurrencyCode)) { 
     return HK_DOLLAR; 
    } 
    if (CURRENCY_CODE_MYR.equalsIgnoreCase(pCurrencyCode)) { 
     return MALAYSIAN_RINGGIT; 
    } 
    return null; 
} 
+0

這是一個靜態方法,所以我沒有看到在這裏使用Mockito的必要性。 Mockitio主要是一個接口,接口的方法永遠不會是靜態的。 – Martin

+0

那麼,你能告訴我們如何在例如這樣一個簡單的程序中使用mockito。 –

+0

也許你真正想要的是使用JUnit或TestNG? – Martin

回答

1

您想了解嘲諷單元測試...的使用,因爲你只要做的,以全面測試這種方法的嘲諷沒有任何一種:

例如,一個簡單JUnit測試:

@Test 
public void testGetCurrencyCodeForUSDollar() { 
    assertThat(getByCurrencyCode("USD"), is(US_DOLLAR)) 

其中:

assertThat是獨一無二的斷言,一個真正需要

是許多hamcrest matchers

或者反過來一個:你只需要嘲諷,當你的「類下測試」積極利用「的一些其他對象」,以完成其工作。那麼它可能是有用的,有時是強制性的,你用你可以完全控制的東西「替換」那些「其他對象」。

+0

這是簡單的junit測試? –

+0

如何編寫使用模擬地址的人員測試。 ? –