JUnit 5タグフィルタリング - @Tag

タグを付け、指定したタグのテストだけを実行する方法

タグフィルタリング

テストに@Tagを指定すると、入力したタグ名に応じてテストを実行できる。

タグ指定

@Tagはテストクラスまたはメソッドに追加して、テストケースにタグを指定できる。1つのテストに複数のタグを付けることもできる。

ConsoleLauncherでの実行

ConsoleLauncherでは、--include-tagなどのCLIオプションで一致するタグ、または一致しないタグを対象にできる。

タグ式の例:

  • tag3: tag3を持つテストを実行する。
  • tag1 & tag3: 両方のタグを持つテストを実行する。
  • tag1 | tag2: どちらかのタグを持つテストを実行する。
  • !tag1 & tag3: tag1を持たず、tag3を持つテストを実行する。
  • ( !tag1 & tag3 ) | tag4: 括弧で条件をまとめる。

タグ名はnullまたは空文字であってはならず、空白文字や制御文字、(),&|!などの予約文字を含めてはならない。

Gradleでの実行

Gradleでは、useJUnitPlatform内でタグフィルタリングを指定する。

test {
    useJUnitPlatform {
        includeTags "tag1 | !tag3"
    }
}

includeTagsまたはexcludeTagsで指定できる。タグ式では!&|演算子を使える。

IntelliJ IDEAでの実行

JUnitの実行構成を作成し、Tagsを選択してタグ名を指定する。するとIntelliJ IDEAは、そのタグに一致するテストだけを実行する。

JUnit IntelliJ実行 JUnit IntelliJ実行 JUnit IntelliJ実行 JUnit IntelliJ実行