私はスパイオブジェクトにMockito.verify
を使用するテストクラス(TestNGに基づいています)を持っています。Mockitoスパイをリセットする
これは動作します:
public class Program {
@Spy
private TestObject testObject;
@Test
public void test1() {
testObject.makeSth();
verify(testObject, only()).someMethodNeedToBeChecked();
}
}
しかし、ここで:
public class Program {
@Spy
private TestObject testObject;
@Test
public void test1() {
testObject.makeSth();
verify(testObject, only()).someMethodNeedToBeChecked();
}
@Test
public void test2() {
// Some different scenario
testObject.makeSth();
verify(testObject, only()).someMethodNeedToBeChecked();
...
}
}
私はsomeMethodNeedToBeChecked
方法のつ以上の呼び出しを持っているMokito例外を取得します。もちろん、私はMockito.reset(testObject)
を追加しようとしましたが、それはまったく私を助けませんでした。
いくつかのテストで同じ方法を確認する必要がある場合、どのようにスパイオブジェクトをリセットできますか? Mockito documentationから
私はhttp://programmers.stackexchange.com/questions/188299/is-this-an-で同様の質問を尋ねオーバー適切な使用方法のリセット方法。ちょうどFYI、それはスパイではなく模擬に関連していますが。 –
あなたは 'reset'への呼び出しをどこに追加しようとしましたか?あなたのコードを編集してあなたの試行を表示するかもしれませんが、コメントアウトしていますか? –
私はちょうどプロトタイプのサンプルを添付しました、リセット@BeforeMethod \ @BeforeClass、@Afterと同じで、確認する前に作成しようとした - それは動作しませんでした。私が理解しているように、それはスパイだけの問題であり、リセットはモックオブジェクトのためのものです。 –