例外をスローするvoidメソッドを嘲笑しているときに、なぜ例外を処理する必要があるのかを知りたい。今Mockito、チェック例外を持つvoidメソッド
例えばpublic class MyObject {
public void call() throws SomeException {
//do something
}
}
私はこれをやっている、
@Mock
MyObject myObject;
doNothing().when(myObject).call()
それは私が例外を処理する必要がある理由私は、疑問に思って
"error: unreported exception SomeException; must be caught or declared to be thrown"
を言ってコンパイルエラーが発生この方法自体は嘲笑されています。
あなたはそれを処理する必要はありません。あなたのテストメソッドに '例外をスローする'だけを入れてください。私はJUnitのすべてのメソッドに「習慣の問題として例外をスローする」とマークしています。そうしなければならない理由はありません。 –
@DawoodibnKareemテストが例外をスローするはずであることを伝えたいときには、例えば '@Test(expected = ...)'のようにアサーションヘルパーを使います。私はテストメソッドのシグネチャに 'throws'節を避けるようにしています。なぜなら、テスト自体の有用な情報がないからです。 –