特定の機能をテストするときに複数の検証ステートメントを使用する理由は何ですか?複数の/または依存しないメソッドが呼び出されたことを確認しますか?例についてはユニットテストで複数のベリファイステートメントを使用する価値はありますか?
:最初の文は二wasn呼び出されなかった場合ので、この方法
@Test
public void testDoSomethingWithSmallSize() throws Exception{
testObj.doSomething(5);
verify(someServiceMock, never()).someMethod();
//IS THERE ANY VALUE TO VERFIYING MORE THAN ONE CALL?
//LIKE THIS??
verfiy(anotherServiceMock, never()).someMethod();
}
をテストする
public void doSomething(int size){
if(size < 50){
return;
}
someService.someMethod();
anotherService.someMethod();
}
が第二の文を確認するか、それが不要である有することに価値がありますどちらか?
"2番目の検証文を持つ価値はありますか?"はい、 'anotherServiceMock.someMethod()'が決して呼び出されなかったことを知りたければ。そうでなければ、いいえ。 –
@Andy Turnerしかし、最初のものが呼び出されなかったなら、それは必要か、それとも呼び出されなかったと思いますか? – Rosie
@Rosieもし自分のメソッドが自分の考えていることをやっていると仮定しようとするなら、何もテストする必要はありません。 – khelwood