2016-04-14 2 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

Это простой тест юнита? –

+0

Как написать тест Person, который использует макет для адреса. ? –