Wie kann ich überprüfen, invokations mit bestimmten string-Matcher in Specs2 mit Mockito

Habe ich einen test in dieser Richtung:

httpClient.post(anyString, anyString) returns (first, second)

//do my thing

there were two(httpClient).post(anyString, anyString)

Dies funktioniert gut, aber ich wollen, stellen Sie sicher, dass der erste Aufruf übergibt einen anderen Körper als den zweiten Anruf. Der Körper ist Recht groß und ich will nicht zu tun, präzises matching auf einem strengen Beispiel. Ich hab das versucht:

there was one(httpClientMock).postMessage(anyString, argThat(contain("FOO"))
there was one(httpClientMock).postMessage(anyString, argThat(contain("FOO"))

Macht Mockito beschweren:

InvalidUseOfMatchersException: 
 [error] Invalid use of argument matchers!
 [error] 2 matchers expected, 3 recorded:

Habe ich auch versucht:

  there was one(httpClientMock).postMessage(argThat(contain("foo")), argThat(contain("FOO")))
  there was one(httpClientMock).postMessage(argThat(contain("foo")), argThat(contain("FOO")))

sind die Ergebnisse in:

Wanted 1 time:
 [error] -> ...
 [error] But was 2 times. Undesired invocation: ...

Scheint es mir, dass so etwas möglich sein sollte, aber ich kann nicht scheinen, um es herauszufinden. Erkenntnisse?

InformationsquelleAutor iwein | 2013-03-02
Schreibe einen Kommentar