まず、コード例を示します。私は、データパケットを扱う関数をテストする必要があります。このファンクションでは、データパケットがオープンされ、期待されるデータがすべて含まれていない場合は、InvalidParameterExeptionがスローされ、ログに記録されます。Junitで例外がキャッチされたかどうかのテスト
public void handleData(dataPacket) {
try {
analyseData(dataPacket);
} catch (InvalidParameterException e) {
e.printStackTrace()
}
}
すべてがうまくいくと私の例外は私の端末に表示されます。 これはどうすればテストできますか?私はこれを使用することはできません。(例外がキャッチされているため)
@Test(expected = InvalidParameterExeption.class)
public void testIfFaultyDataPacketIsRecognised {
handleData(faultyDataPacket);
}
どのように私はInvalidParameterExeptionがスローされることをテストすることができますか?
例外をキャッチすべきではありませんか、または@expectedアノテーションを削除して、資産になる他のものを見つけ出す必要があります。スタックトレースを印刷しても例外は非常にうまく処理されません。あなたが何をすべきか混乱しているという事実は、悪いデータパケットがあるときにクラスのクライアントがどのように感じるのか、そして何をすべきか分からないというヒントです。 – duffymo
'handleData'の代わりに' analyseData'のテストを書く。 – Thiefster