6

テストしたいメソッドは、さまざまな引数でモック メソッドを呼び出しています。

public void methodToTest(){
   getMock().doSomething(1);
   getMock().doSomething(2);
   getMock().doSomething(3);
}

私の単体テストでは、methodToTest が実際にそれらのメソッドを正確にそれらの引数で呼び出しているかどうかを知りたいです。これは私が書いたコードです:

@Test
public void myMockTest(){
    oneOf(mock).doSomething(1);
    oneOf(mock).doSomething(2);
    oneOf(mock).doSomething(3);
}

(2)で、「予期しない呼び出し」が表示されます-さまざまな引数を区別できないかのように。だから私はそれを試しました:

exactly(3).of(mock).doSomething(with(Matchers.anyOf(same(1), same(2), same(3))));

しかし、これも私が期待したことをしませんでした。

最後に、これはうまくいきました:

exactly(3).of(mock).doSomething(with(any(Integer.class)));

したがって、私のメソッドが任意の整数で 3 回呼び出されたことがわかります。確認する方法はありますか、それはまさに私が渡した引数ですか?

4

1 に答える 1