Mockito och isNull

Johan | 21 November, 2008

I veckan skulle jag skriva ett test för en metod där jag var tvungen att testa att ett av argumenten verkligen var satt till null. Eftersom vi använder Mockito så satte jag upp testet med en isNull matcher precis som jag normalt gör med eq eller anyString.

verify(myMock).myMethod(isNull());

Men eftersom metoden jag ville testa ser ut som nedan så kunde inte testet kompilera för för att isNull var inte av typen SomeObject.

public void myMethod(SomeObject someObject);

Istället så fick jag skriva min egen matcher och med hjälp av generics så var det även väldigt enkelt att få den återanvändbar.

verify(myMock).myMethod(argThat(new IsNullObjectMatcher()));

Matchern själv ser ut så här.

public class IsNullObjectMatcher extends ArgumentMatcher {
@Override
public boolean matches(Object argument) {
return (null == argument);
}
}

Men precis när jag gjort den här mycket intelligenta och snygga matchern så insåg jag att jag kunde casta isNull matchern till SomeObject och få samma effekt. Så till mig själv, glöm allt ovan och istället använd.

verify(myMock).myMethod((SomeObject) isNull());

/Johan

Kommentarer

  • 2009-03-28 skrev Emil

    Varför inte bara ange null som argument?

    verify(myMock).myMethod(null);

    /e.

Lägg till kommentar

Disclaimer

All data and information provided on this weblog is for informational purpose only. www.bwingames.se or any other company within the bwin group makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information on this weblog and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its displays or use. All information is provided on as-is basis.

Bloggar

Andreas_Fernström_blog.jpg

Andreas jobbar som utvecklare på bwin Games. Läs om vad som händer på utvecklingsavdelningen.
» Till bloggen

Ann_Flismark_blog.jpg

Ann jobbar som QA testare på bwin Games. Hon bloggar bl.a. om jobb och testmetoder.
» Till bloggen

En blogg om livet på bwin Games. Av och med Fredrik.
» Till bloggen 

Att bygga en karriär inom online gaming: vår senaste Management Trainee Jonas bloggar om vägen upp.
» Till bloggen

 

En blogg om rollen som Management Trainee på bwin Games. Varje vecka kommer Robert ge en inblick i aktuella arbetsuppgifter och projekt.
» Till bloggen  

Bloggarkiv

 

Mattias jobbar som Lead Developer och är även pappaledig på deltid - läs om hans liv och arbete i vår utvecklarblogg.
» Till bloggen

 

kamil2.jpg

Hur är det att vara trainee på bwin Games? Kamil berättar.
» Till bloggen

 

 

Johan jobbar med den senaste teknologin tillsammans med de bästa programmerarna i branschen.
» Till bloggen

RSS

Bloggar

Kategorier

Lediga jobb
Nyheter