2016-04-14 9 views
0

Wie kann ich diese öffentliche statische Methode mit Mockito testen?So testen Sie diese öffentliche Methode mit 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

Dies ist eine statische Methode, so sehe ich nicht die Notwendigkeit, hier Mockito überhaupt zu verwenden. Mockitio verspottet meist eine Schnittstelle und die Methoden einer Schnittstelle sind niemals statisch. – Martin

+0

Also, können Sie bitte erzählen, wie man Mockito in solch einem einfachen Programm mit Beispiel verwendet. –

+0

Vielleicht möchten Sie wirklich JUnit oder TestNG verwenden? – Martin

Antwort

1

Sie wollen über die Verwendung von mocking für Unit-Tests lesen ... wie Sie einfach nicht jede Art von um spöttisch, dass sie entsprechende Methoden zu testen:

Beispiel, ein einfacher JUnit-Test:

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

wo:

assertThat der eine und nur behaupten, dass man wirklich braucht

ist ist eine von vielen hamcrest matchers

Oder umgekehrt: Sie brauchen nur spöttisch, wenn Ihre „Klasse im Test“ aktiv nutzt „einige andere Objekte“, um seine Arbeit zu tun. Dann kann es nützlich sein, manchmal zwingend, dass Sie "diese anderen Objekte" durch etwas ersetzen, das Sie vollständig kontrollieren können.

+0

Dies ist ein einfacher Junit-Test? –

+0

So schreiben Sie einen Personentest, der einen Schein für die Adresse verwendet. ? –

Verwandte Themen