[JUnit 5]テスト言語
JUnit 5の基本操作について
匿名とは?
歴史的に見ると、声明は注釈の意味です.しかしjavaで用いられる構文概念は,コード間で注釈のように用いられ,特殊な意味と機能を同時に実行する技術である.
→プログラムに追加情報を提供するメタデータ(データ)と考えられる.
→要約すると「特別な意味を持つ注釈」です.
@Test
説明:@Testを貼り付ける場合は、Testメソッドを使用して認識とテストを行います.
例
@BeforeAll
@Beforeメソッドは、クラスのすべてのテストクラスを初期化するときに一度だけ実行するメソッドです.
→テストクラス実行時に一度だけ出力
このメソッドは静的として宣言する必要があります.
コード#コード#
@Disabled
@Disabledを貼り付けると、@Testは無視されます.
BeforeAll
Disabled
create1. study
の順に出力します.でも.
以上のように、無効にして出力できません.→テストコードを実行していないため
@BeforeEach
@BeforeEachすべてのテストメソッドを実行する前に実行するメソッド
コード#コード#
各テストが実行される前にbeforeEachが実行されていることがわかります.
BeforeAllとは異なり、BeforeAllは完全なテストを実行するときに1回のみ実行され、BeforeAchはテストクラスごとに1回実行されます.
@AfterAll
@AfterAllを貼り付けたメソッドは、テストクラスですべてのメソッドを実行した後に一度だけ実行されます.
→テスト後最後に出力
@AfterEach
テストメソッドを実行した後に実行します.
一度だけ実行する@AfterAllとは異なり、実行ごとに出力されます
完全なコード
匿名とは?
歴史的に見ると、声明は注釈の意味です.しかしjavaで用いられる構文概念は,コード間で注釈のように用いられ,特殊な意味と機能を同時に実行する技術である.
→プログラムに追加情報を提供するメタデータ(データ)と考えられる.
→要約すると「特別な意味を持つ注釈」です.
@Test
説明:@Testを貼り付ける場合は、Testメソッドを使用して認識とテストを行います.
例
@Test
void create1() {
Study study = new Study();
System.out.println("create1. study");
}
実行画面@BeforeAll
@Beforeメソッドは、クラスのすべてのテストクラスを初期化するときに一度だけ実行するメソッドです.
→テストクラス実行時に一度だけ出力
このメソッドは静的として宣言する必要があります.
コード#コード#
@Test
void create1() {
Study study = new Study();
System.out.println("create1. study");
}
@BeforeAll
static void beforeAll() {
System.out.println("BeforeAll");
}
実行画面:まずBeforeAllを出力し、1を作成します.研究が出力されていることがわかります.@Disabled
@Disabledを貼り付けると、@Testは無視されます.
@Test
void create1() {
Study study = new Study();
System.out.println("create1. study");
}
@BeforeAll
static void beforeAll() {
System.out.println("BeforeAll");
}
@Test
void Disabled() {
System.out.println("Disabled");
}
もしそうなら.BeforeAll
Disabled
create1. study
の順に出力します.でも.
@Test
void create1() {
Study study = new Study();
System.out.println("create1. study");
}
@BeforeAll
static void beforeAll() {
System.out.println("BeforeAll");
}
**@Disabled**
@Test
void Disabled() {
System.out.println("Disabled");
}
@Disabledを追加します.以上のように、無効にして出力できません.→テストコードを実行していないため
@BeforeEach
@BeforeEachすべてのテストメソッドを実行する前に実行するメソッド
コード#コード#
@Test
void create1() {
Study study = new Study();
System.out.println("create1. study");
}
@Test
void create2() {
Study study = new Study();
System.out.println("create2. study");
}
@BeforeAll
static void beforeAll() {
System.out.println("BeforeAll");
}
**@BeforeEach
void beforeEach() {
System.out.println("BeforeEach");
}**
実行画面各テストが実行される前にbeforeEachが実行されていることがわかります.
BeforeAllとは異なり、BeforeAllは完全なテストを実行するときに1回のみ実行され、BeforeAchはテストクラスごとに1回実行されます.
@AfterAll
@AfterAllを貼り付けたメソッドは、テストクラスですべてのメソッドを実行した後に一度だけ実行されます.
→テスト後最後に出力
@Test
void create1() {
Study study = new Study();
System.out.println("create1. study");
}
@Test
void create2() {
Study study = new Study();
System.out.println("create2. study");
}
**@AfterAll
static void afterAll() {
System.out.println("AfterAll");
}**
実行画面@AfterEach
テストメソッドを実行した後に実行します.
一度だけ実行する@AfterAllとは異なり、実行ごとに出力されます
import org.junit.jupiter.api.*;
class StudyTest {
@Test
void create1() {
Study study = new Study();
System.out.println("create1. study");
}
@Test
void create2() {
Study study = new Study();
System.out.println("create2. study");
}
@AfterAll
static void afterAll() {
System.out.println("AfterAll");
}
@AfterEach
void afterEach() {
System.out.println("AfterEach");
}
}
実行画面完全なコード
import org.junit.jupiter.api.*;
class StudyTest {
@Test
void create1() {
Study study = new Study();
System.out.println("create1. study");
}
@Test
void create2() {
System.out.println("create2(), study");
}
@Disabled
@Test
void Disable() {
System.out.println("Disabled");
}
@BeforeAll
static void beforeAll() {
System.out.println("BeforeAll");
}
@AfterAll
static void afterAll() {
System.out.println("AfterAll");
}
@BeforeEach
void beforeEach() {
System.out.println("BeforeEach");
}
@AfterEach
void afterEach() {
System.out.println("AfterEach");
}
}
Reference
この問題について([JUnit 5]テスト言語), 我々は、より多くの情報をここで見つけました https://velog.io/@cjh8746/JUnit5-테스트-어노테이션テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol