私はTDDとJUnitの新機能ですが、コードで実装しているメソッドのテストケースを記述することができます。JUnitで複数のアサーションテストケースの各アサーションを追跡する方法はありますか?
もちろん、メソッドの実装が問題ないことを確認するためにいくつかのコーナーケースをテストする必要があるメソッドがあります。一般的には、コード内でメソッドごとに1つのテストメソッドを保持するのが良い方法ですから、この答えで説明したように、そのようなメソッドに対して複数のアサーションを追加する必要があります。 https://stackoverflow.com/a/762582/5715934
public void testValueOf() {
assertEquals(1, Integer.valueOf("1").intValue());
assertEquals(0, Integer.valueOf("0").intValue());
assertEquals(-1, Integer.valueOf("-1").intValue());
assertEquals(Integer.MAX_VALUE, Integer.valueOf("2147483647").intValue());
assertEquals(Integer.MIN_VALUE, Integer.valueOf("-2147483648").intValue());
....
}
しかし、私はテストケースを実行していたとき、私は、テストメソッド内の各アサーションに(パス/フェイル)テストステータスを取得しておりません。代わりに、1つのアサーションが失敗した場合でも「赤」を表示し、すべてが成功した場合は緑を表示します。
各アサーションのトラックでデバッグを簡単にするのは簡単ですか?それを行うための正式な道具/回避策はありますか(JUnit 4)?
1つの方法で1つのテストを行うことは、*悪い習慣*です。さまざまなテストケースについて、常に別々のテストを行う必要があります。 –
リンクのその答えが説明するように、1つのテスト方法の内部でさえ、異なるケース(それぞれ異なるアサーションとして)があります。 –
@krzykが正しいです。すべてのテストケースを分けて、どちらが失敗したのか、どのような理由で失敗するのかを知ることができます。これにより、テストケースが失敗する理由を簡単に伝えることができます。また、他のテストケースでテストケースが1つも失敗しないようにするには、相互に独立している必要があります。 – Dale