文字が正しく文字化けしていないことを確認するために、文字の特定の順序を確認する必要があります。私はInOrder
を使ってそれを書こうとしましたが、動作しないか、少なくともMockito 1.8.5では動作していないようです。同じ引数を持つコールの特定の順序についてMockitoでテストする方法は?
@Test
public void inOrderTest() throws IOException{
final String message = "Hello World!\n";
for(char c : message.toCharArray())
mockWriter.write(c);
final InOrder inOrder = inOrder(mockWriter);
for(char c : message.toCharArray())
inOrder.verify(mockWriter).write(c);
inOrder.verifyNoMoreInteractions();
}
テストは、上記のメッセージで失敗します。
Verification in order failure:
mockWriter.write(108);
Wanted 1 time:
-> at org.bitbucket.artbugorski.brainfuj.interpreter.InterpreterTest.inOrderTest(InterpreterTest.java:62)
But was 3 times. Undesired invocation:
-> at org.bitbucket.artbugorski.brainfuj.interpreter.InterpreterTest.inOrderTest(InterpreterTest.java:58)
はどのようにしているためMockitoのテストを書くのですか?
EDIT:あなたは「L」に着くとMockitoを伝えるときためにhttp://code.google.com/p/mockito/issues/detail?id=296
スリック。私はargキャプチャのその機能について知らなかった。 –
結果/出力/結果(可能な場合)を簡単にチェックし、このテストコードを読むことがあります。私たちがそれを返すべきであることを知っていれば、与えられた議論のために「期待していた」と言いました。 – ses