プログラミング Java

【Junit5】アノテーションの意味をざっくりと解説

投稿日:

Junit5のアノテーションについてざっくりと理解するための記事です。
なんか見たことあるけど、要するに何に使うやつなんだっけ?
を軽く思い出すためにあります。

テストを実行

@Test

テストメソッドであることを示します。
単一のテストを実行します。

@ParameterizedTest

パラメーター化テストであることを示します。
複数のテストデータを実行します。

@RepeatedTest

繰り返しテストであることを示します。
実行回数を指定して実行します。

事前/事後処理

@Test, @RepeatedTest, @ParameterizedTest, @TestFactory が付与されたテストメソッド毎に実行されます。

@BeforeAll

テストクラスのすべてのテストメソッドの実行前に一度だけ実行されます。

@BeforeEach

テストクラスの各テストメソッドの実行前に毎回実行されます。

@AfterAll

テストクラスのすべてのテストメソッドの実行後に一度だけ実行されます。

@AfterEach

テストクラスの各テストメソッドの実行後に毎回実行されます。

設定

@TestInstance

テストクラスのインスタンスのライフサイクルを設定します。

PER_CLASS:一度だけテストクラスのインスタンスを生成します。
PER_METHOD:メソッド毎にテストクラスのインスタンスを生成します。

@DisplayName

テストクラスやテストメソッドにカスタムの表示名を指定します。

@Disabled

テストクラスやテストメソッドを無効化します。

JUnit4では@Ignoreです。

@Tag

クラスまたはメソッドレベルでテストをフィルタリングするためのタグを宣言します。

JUnit4のCategoryと同じです。

テスト構造の定義

@Nested

テストクラス内でネストしたテストクラスを定義します。

非staticのテストクラスです。

@TestTemplate

テストケースのテンプレートであることを示します。
このメソッドは、登録したプロバイダ が返す実行コンテキストの数に応じて、複数回呼び出されます。

テストを生成

@TestFactory

動的テストのためのテストファクトリです。

@Test メソッドとは異なり、@TestFactory メソッド自身はテストケースではなく、 テストケースを生成します。

拡張機能

@ExtendWith

カスタムの拡張機能を登録するために使われます。

登録方法は3つです。
・@ExtendWith を使って 宣言的に 登録する。
・@RegisterExtension を使って 手続き的に 登録する。
・Javaの ServiceLoader の仕組みを使って 自動的に登録する。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

プログラミングスキルを向上させる3ステップ

プログラミングスキルを向上させるための3ステップです。 私自身が実践していることであり、向上を実感している方法です。 写経 本をベースに写経します。 写し書きをして動いたらOKではなく、以下のような問 …

【Java入門】メソッドとは?使い方まとめ

概要 メソッドとは何か? また使い方をわかり易く説明します。   メソッドとは? 固く言うと、一連の処理を一つにまとめたものです。 平たく言うと、何らかの処理を1つにまとめたものです。 例 Syste …

ネストしたCollectionをflatmapで平坦化する例

概要 Java Goldの資格勉強をしていて、StreamのflatmapというメソッドでCollection等を平坦化(ネストした配列等を同階層の要素としてまとめること)の挙動で、3階層以上のネスト …

【Java転職者向け】どんなポートフォリオを作成すべきか?

Javaプログラマとして開発リーダと新人教育をした立場から執筆しています。 対象読者 未経験からJavaプログラマに就職・転職しようとする方 目次 なぜポートフォリオを作成するのか? ・スキルアップ …

no image

【MySQL】自テーブルのカラムの値を0埋めで更新する方法

構文

記載例

  UPDATE前後の値を比較 UPDATE …

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。