自分のassertSomething(...)
メソッドを作成したとします。どのようにして単体テストを書いて、それがそれを使ってテストケースに正しく失敗していることを検証できますか?カスタムJUnitアサーションのテストを書くには?
-1
A
答えて
0
Junit 4.7で導入されたルールを見てください。特にTestWatcher。
TestWatcherは、テストアクションを変更せずに書き留めるルールの基本クラスです。たとえば、このクラスは、各通過のログを保存し、テストを失敗します:
public static class WatchmanTest {
private static String watchedLog;
@Rule
public TestWatcher watchman= new TestWatcher() {
@Override
protected void failed(Throwable e, Description description) {
watchedLog+= description + "\n";
}
@Override
protected void succeeded(Description description) {
watchedLog+= description + " " + "success!\n";
}
};
@Test
public void fails() {
fail();
}
@Test
public void succeeds() {
}
}
2
私が正しくあなたを理解していれば、私は次の方法を参照してください。あなたにも、例外を検証する必要がある場合は
@Test
public void assertSomethingSuccessTest() {
// given
final Object givenActualResult = new Object(); // put your objects here
final Object givenExpectedResult = new Object(); // put your objects here
// when
assertSomething(givenActualResult, givenExpectedResult);
// then
// no exception is expected here
}
// TODO: specify exactly your exception here if any
@Test(expected = RuntimeException.class)
public void assertSomethingFailedTest() {
// given
final Object givenActualResult = new Object(); // put your objects here
final Object givenExpectedResult = new Object(); // put your objects here
// when
assertSomething(givenActualResult, givenExpectedResult);
// then
// an exception is expected here, see annotated expected exception.
}
を:
@Rule
public ExpectedException thrown = ExpectedException.none();
@Test
public void assertSomethingFailedTest() {
// given
final Object givenActualResult = new Object(); // put your objects here
final Object givenExpectedResult = new Object(); // put your objects here
// and
thrown.expect(RuntimeException.class);
thrown.expectMessage("happened?");
// when
assertSomething(givenActualResult, givenExpectedResult);
// then
// an exception is expected here, see configured ExpectedException rule.
}
関連する問題
- 1. JUnitテストを書く
- 2. JUnitのアサーション
- 3. アサーションなしでJUnitとTestNGテストを探すには?
- 4. JUnitアサーション拡張
- 5. オブジェクトのアサーションを書く
- 6. キュウリのステップ定義でテスト出力を検証するアサーションを書くには?
- 7. カスタムEclipse BuilderをテストするJUnit
- 8. ScalaコードのJUnitテストを書く必要があります
- 9. 「きれいな」JUnitテストを書くためのリファクタリング
- 10. RestTemplate用のSpringブートでJUnitテストを書く方法
- 11. android jUnitの機能テストを書く方法
- 12. Junit:アサーション未満ですか?
- 13. ハード・コーディングなしでspringbootでメソッドのJunitテスト・ケースを書くには
- 14. 並列で実行できるJPAに対してjunitテストを書くには?
- 15. テストセットメソッド内でアサーションを使用して単体テストを書く方法は?
- 16. 春のJUnitテスト - 整数のためのJSONPath私の春のために、私は私のJUnitテストでは、次のアサーションを持って
- 17. eclipse junitプラグインテストを書く
- 18. JPAリポジトリ用junitを書く
- 19. Arquillian JUnitテストは
- 20. JUnitのテストは、GUI
- 21. JUnitテストはにAroundInvokeインターセプタは
- 22. カスタム基本クラスを持つビューの単体テストを書く
- 23. JUnit 4でカスタム例外のエラーコードをテストします。
- 24. プレイフレームワーク2.1 JUnitテストは、JUnitテストを日食からzentaskチュートリアル以下
- 25. JUnitテストをデバッグ
- 26. コレクションのJUnitテスト
- 27. @JmsListenerのJUnitテスト
- 28. KotlinのJUnitテスト
- 29. AspectJのJUnitテスト
- 30. JUnitのテスト:TransactionStatus
役立つ情報:あなたはちょうどあなたが何か他のものと同じようにそれのためのユニットテストを書くことができないと言ってhttps://www.guru99.com/junit-assert.html – roottraveller
何もありません。 :-) – cjstehno
残念ながら、このページは私の特定の質問には役に立ちません。私は自分自身のJUnitアサーションを作成しており、そのコードを単体テストしたいと思います。私のアサーションで許可されている場合、テストケースが合格する - アサーションで許可されていないテストケースが失敗します。 –