3

junit クラスで、例外がスローされることをテストし、そうでない場合は、テストが失敗した場合に何を探すべきかを示唆する説明メッセージを提供したいと考えています。だから、何か...

    thrown.expect(UnsupportedOperationException.class);
    thrown.expectMessage("an exception message");
    thrown.failureMessage("This method should not be called directly. Be sure to use a subclass or mock that implements the method foo()");

明らかに、そのようなメソッド failureMessage() はありません。失敗メッセージを実装したいと思ったことがあるのは、世界で私だけではありません。検索のどこにも例が見つかりませんでした。

これは、Junit4 の @Rule および ExpectedException 機能に関するものであることに注意してください。

4

2 に答える 2

2

JUnit 4.12 は、カスタムの失敗メッセージをサポートしています (リリース ノートを参照してください)。この失敗メッセージは、テストが予想される例外をスローしない場合に使用されます。間違ったメッセージなどの他のすべては、Hamcrest マッチャーによって処理されます。

JUnit 4.12 は 2014 年 12 月 4 日にリリースされました。

于 2013-11-27T21:35:40.980 に答える
1

カスタムMatcherのサブクラス化BaseMatcherオーバーライドtoString()を使用して、必要なことを行うことができます。

于 2013-11-27T20:33:14.563 に答える