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


関連記事

Observerパターンってどう使うの?を考える(商品の予約)

目的 Observerパターンの使いどころとなる状況を具体例でもって理解する。   ゴール(実現すること) 商品の予約システムにおけるユーザ通知   実装する機能 ・商品を予約する …

no image

GitでIndexが壊れたときの直し方

これは自分の環境用の備忘録です。 (状況) Virtual BOX内のGit環境において、INDEXが0KBになっている。(INDEXが壊れている) (対処方法) リモート環境から新しくCloneして …

【SpringBoot入門】#11~ 削除ダイアログの作成

概要 検索結果から削除機能を呼び出した際に、削除を確認するためのダイアログです。 実装はjQueryで行いますので、mavenへの追加作業等の準備を別途行います。 イメージ jQueryの準備 jQu …

違い,diff,比較,天秤

【図解】Mockito – mock と spy の違いは?

テストコードでモックを書くときによく使うMockitoですが、mock()とspy()の違いについてよくわからないという方向けに図解で解説します。 図解 mock() ・全てのメソッドが一旦使用不可に …

【Java】ArrayListの使い方まとめ

概要 ArrayListはOracleの公式ページでも明記しているクラスです。 Java SE 11 Programmer I (1Z0-815-JPN) 試験 インタフェースによる抽象化 インタフェ …

SpringFramworkの良書

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

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