技術っぽいことを書いてみるブログ

PythonとかVue.jsとか技術的なことについて書いていきます。

いまさらながら…JUnit5についてまとめておく(アサーション編)

背景

JUnit5のアサーションは、あまり迷うことがないと思いますが、
例外の検証、エラーにする方法は、パッと出てこないシーンもあると思いますので、
メモを残しておきます。

アサーション

assertEquals(expected, actual)

  • 結果が期待した値と同じか検証する
  • 第1引数が期待値

assertTrue(actual)

  • 結果がTrueであることを検証する

assertFalse(actula)

  • 結果がFalseであることを検証する

assertAll("名前", アサーション...)

  • JUnitでは、テストメソッドのアサーションでNGがあった場合、その時点でテストを打ち切るが、
    複数の検証がある場合にNGがあっても、テスト内の検証をすべて実施したい場合にassertAllを使用する
       assertAll("TestAll",
                () -> assertEquals(12, calculator.multiply(3, 4)),
                () -> assertEquals(15, calculator.multiply(3, 5)),
                () -> assertEquals(18, calculator.multiply(3, 6)),
                () -> assertEquals(20, calculator.multiply(3, 7))
                );

fail

  • テストを強制的にNGにする

Assertions.assertThrows

  • 例外の検証に使用する
  • 例:calculator.divideがIllegalArgumentExceptionをスローすることを確認する
Assertions.assertThrows(IllegalArgumentException.class, () -> {calculator.divide(3, 0);});

所感

アサーションに関しては、上記を押さえておけば問題ないかなと思います。