AssertJを依存ライブラリに追加する
バージョンは、3.11.0以降を指定する必要があります。testCompile 'org.assertj:assertj-core:3.11.1'
soft assertionsを使ってみる
実装すればいいことは、以下の2点ですね。org.assertj.core.api.SoftAssertions.SoftAssertionsのときは、assertAllを呼び出す必要があったけどそれが不要になりますね。
- JUnitJupiterSoftAssertionsをフィールドに定義して@RegisterExtensionを設定する
- JUnitJupiterSoftAssertionsのassertThatを使ってアサーションを行う
public class SampleTest {
@RegisterExtension
public final JUnitJupiterSoftAssertions softly = new JUnitJupiterSoftAssertions();
@Test
void test() {
softly.assertThat(5)
.isEqualTo(1);
softly.assertThat("hoge")
.isEqualTo("fuga");
}
}
実行結果
複数箇所でアサーションに失敗した場合でも、それぞれの結果が表示されますね。Expected :1
Actual :5
<Click to see difference>
Expected :fuga
Actual :hoge
<Click to see difference>