プログラミング 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


関連記事

【Java】IllegalArgumentExceptionの原因と対策方法

IllegalArgumentExceptionの原因と対策方法はとても簡単です。 基本的なことを理解すればすぐに解消できます。 IllegalArgumentExceptionとは? 不正な引数また …

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

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

no image

prepareステートメントの挙動について調べてみた

調べるきっかけ PHPでSQLをセキュアに記述する方法としてprepareステートメントが推奨されているが、なぜなのかがわからず、挙動を調べれば自分なりに納得のいく答えがでるのではないかと思ったため。 …

PC, タイピング, パソコン

コミュニティ内のハッカソンに参加した体験談

クローズドなコミュニティ内で行われたハッカソンに参加してきました。 ハッカソンは短期間(短時間)で要件定義から実装までを行うイベントです。 ハッカソンに参加することになったきっかけは「要件定義から実装 …

割引 ディスカウント 値引き

【Oracle】Java認定試験のチケットを割引で購入する方法

Oracle・Java認定試験のチケット代を安くする方法について私が実際に使った方法を紹介します。   対象試験 Java SE Bronze、SE 8 Silver/Gold、SE 11 …

■運営者プロフィール
IT業界10年のエンジニア。
PHP -> VBA -> Javaと渡り歩いてきて、今はJavaをメインにフリーランスエンジニアとして活躍中!

[保有資格]
・Java SE 11 Gold

一度はエンジニアを辞めざるを得なかった私が再びエンジニアとして復活した数奇な物語

SpringFramworkの良書

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

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