Tagged: mockito RSS Toggle Comment Threads | Keyboard Shortcuts

  • Chris Kaempfe 2:32 pm on November 14, 2011 Permalink | Reply
    Tags: , mockito,   

    Mockito und Byte Arrays 

    Der Aufruf von Methoden mit Byte-Arrays ist mit Mockito kein grosses Problem. Um ein Byte-Array zu matchen wird nicht, wie für die ‘Standard’-Argumente, die Matcher-Klasse verwendet, sondern die AddiationalMatchers. Die AdditionalMatchers können für alle primitiven Arrays von Java verwendet werden.

    Ein kleines Beispiel um dies zu verdeutlichen:

    // handles several types for some purpose
    public class TypeHandler() {
        public void byteMethod(byte[] array) {
            // do something here with byte array
        }
    }
    

    Die von Mockito zu verifizierende Methode byteMethod hat die oben gezeigte Signatur und es soll getestet werden, ob die Methode auch einmal mit dem entsprechenden Byte-Array aufgerufen wird:

    public void testByteMethod() {
        byte[] data = new byte[7];
        // create Mock
        TyepHandler typeHandlerMock = mock(TypeHandler.class);
        Foo foo = new Foo();
        foo.setTypeHandler(tyepHandlerMock);
        // within this method the 'byteMethod' should be called once
        foo.runByteMethod();
        verify(typeHandlerMock).byteMethod(AdditionalMatchers.aryEq(data));
    }
    

    Mit Hilfe des AdditionalMatchers und der Methode aryEq wird überprüft, ob auch das erwarte Byte-Array an die Methode übergeben wird. Das ganze kann man aber auch allgemeiner halten:

        verify(typeHandlerMock).byteMethod(any(byte[].class));
    

    Nun überprüft Mockito, ob die Methode byteMethod mit irgend einem Byte-Array aufgerufen wird.

     
  • Chris Kaempfe 12:07 pm on November 8, 2011 Permalink | Reply
    Tags: mockito,   

    Mocken von Code der einem nicht gehört 

    Auf der Suche wie man am besten mit Mockito die MongoDB Library mocked, bin ich über einen Blogeintrag von David Tchepak gestoßen: Don’t mock types you don’t own.

    Ein toll geschriebener Beitrag, warum man Code nicht mocken sollte der einem nicht gehört. Er zeigt auch Alternativen auf, wie man es anders und vielleicht besser macht, weil es einfach Realitäts näher ist. Für die Zukunft werde ich versuchen mich daran zu orientieren, so gut es eben umsetzbar ist.

     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
shift + esc
cancel