JUnit5.araboja
📗 JUnit5 📕
Architecture
"The new major version of the programmer-friendly testing framework for Java 8 "
JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage
既存のJUnitバージョンとは異なり、JUnit 5は異なるサブプロジェクトからの異なるモジュールの集合である.
JUnit 5の実行にはJava 8以降が必要です.
JUnit Platform
JUnit Platform
は、JVMベースのテストフレームワークを実行するための基礎モジュールである.プラットフォームモジュールは、プラットフォームベースの実行可能なすべてのテストに
TestEngine API
を提供し、これらのテストをGradle
、Maven
に連動させることができる.プラットフォームモジュールはまた、JUnit 4環境でプラットフォームモジュールを使用してテストするための
Console Launcher
を提供する.JUnit Jupiter
Runner
は、JUnit 5に基づくテストケースを記述するプログラミングモデルおよび拡張モデルをサポートするモジュールであり、テスト作成者のためのJUnit Jupiter
モジュールと、テスト実行のためのjunit-jupiter-api
モジュールとは別個である.Jupeterモジュールはまた、Jupeterに基づいて記述された試験例を実行するために
junit-jupiter-engine
を提供する.JUnit Vintage
JUnit Platform
は、低互換性を達成するために、TestEngine
上でJUnit 3、JUnit 4に基づくテストを実行するためのモジュールである.Jupiter API: assertions
デフォルトassertメソッド、fail()メソッド
JUnit Vintage
クラスは、検証された静的方法を提供する.主な方法は次のとおりです.assertAll()
複数回の検証を試みた場合、最初のassertEquals()が失敗した場合、テストは失敗し、後続のassertEquals()は実行されません.
assertAll()は、複数の検証を組み合わせてテストすることができます.
public class AssertAllTest {
@Test
void assertAllSample() {
Game game = new Game(123);
Score score = game.guess(145);
assertAll(
() -> assertEquals(2, score.getStrikes()),
() -> assertEquals(1, score.getBalls())
);
}
}
assertThrows()
実行されたコードに特定のエクスポートが発生しているかどうかを確認するには、assertThrows()メソッドを使用します.
@Test
void simple() {
assertThrows(ArithmeticException.class, () -> divide(100, 0));
}
private int divide(int op1, int op2) {
return op1 / op2;
}
Jupiter API:ライフサイクルのテスト
public class LifecycleTest {
@BeforeAll // JUnit4의 @BeforeClass
static void initAll() {
System.out.println("테스트 Class 기준으로 테스트 메서드들이 실행되기전 실행");
}
@BeforeEach // JUnit4의 @Before
void init() {
System.out.println("각 테스트 메서드가 실행되기전 실행");
}
@Test
void Test() {
System.out.println("테스트 메서드");
}
@AfterEach // JUnit4의 @After
void tearDown() {
System.out.println("각 테스트 메서드가 실행된 후 실행");
}
@AfterAll // JUnit4의 @AfterClass
static void tearDownAll() {
System.out.println("테스트 Class 기준으로 테스트 메서드들이 실행된 후 실행");
}
}
Dependencies
JUnit-Platform-CommonsJUnit内部で使用される汎用ライブラリ(またはユーティリティ).JUnitモジュールの外部での使用は一切考慮されません.
JUnit Platform-コンソールを使用してJUnit Platformでテストを実行するサポートライブラリ
JUnit-platform-console-単機ConsoleLauncherの実行可能JARファイル
JUnitプラットフォーム-EngineJUnit 5に基づくテストAPI
JUnitプラットフォームレベルのプラグインGradeプラットフォーム上のテストサポートライブラリ
JUnit Platform Launcherテスト計画を構成および実行するAPI IDEおよび構築ツールで使用
JUnit-platform-runnerJUnit 4環境でプラットフォーム使用率テストをサポートするランナー
junit-platform-suite-apitestスイートの構成に関する説明
JUnitプラットフォーム-surefire-ProviderMaven Surefreeサポートライブラリ
JUnit Jupiter API、JUnit Jupiter API(Runnerなど)の作成と拡張に使用
JUnit Jupiter EngineメインピーターモジュールのTestEngine実装
JUnit-platform-console-独立したパラメータを持つテスト用のサポートライブラリ
junit-platform-engineJUnit 4からプライマリピーターモジュールへの移行サポートライブラリ
JUnit Vintage-Engine JUnit VintageのTestEngine実現.JUnit PlatformでJUnit 3または4で作成したテストを実行するときに使用します.
Reference.
https://junit.org/junit5/docs/current/user-guide/
https://stackoverflow.com/questions/38822189/why-were-junit-jupiter-and-junit-vintage-separated-when-i-running-testcase-in-in
https://javacan.tistory.com/entry/JUnit-5-Intro
https://awayday.github.io/2017-10-29/junit5-02/https://donghyeon.dev/junit/2021/04/11/JUnit5-完全-ガイド/
Reference
この問題について(JUnit5.araboja), 我々は、より多くの情報をここで見つけました
https://velog.io/@_koiil/JUnit5
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(JUnit5.araboja), 我々は、より多くの情報をここで見つけました https://velog.io/@_koiil/JUnit5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol