JUnit 5:紹介と入門


インフラストラクチャの「より多くのJavaとアプリケーションをテストするためのさまざまな方法」を確認し、まとめました.
1.紹介と開始
1.1. 紹介する
  • 試験フレーム
  • Java 8以降のバージョン
  • が必要です
    以前のJUnitバージョンとは異なり、JUnt 5は3つのサブアイテムで構成されています
  • JUnit 5は、JUnitプラットフォーム+JUnit Jupiter+JUnit Vintage
  • を提供します.
  • JUnit Platform
  • JVM実行テストフレームワークの基礎
  • は、テストフレームワーク
  • を開発するためのテストエンジンAPIを提供する.
  • JUnit Jupiter
  • JUnit 5で作成および拡張テストの新しいプログラミングモデルと拡張モデルの組合せ
  • JUnit Vintage
  • JUnit 3とJUnt 4のプラットフォームにテストエンジンを提供し、
  • と後方互換性を提供する.
    1.2. 開始します.
    依存項目の追加
  • 2.2+バージョンのスプリングガイドアイテムを作成した場合は、依存
  • がデフォルトで追加されます.
  • maven
  •     <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.5.2</version>
            <scope>test</scope>
        </dependency>
    デフォルトのシナリオ
  • @Test
  • テストクラスまたはテストメソッドの名前を付けるときに
  • を使用します.
  • @BeforeAll
  • テスト開始前に
  • のみ実行
  • @AfterAll
    テスト完了後、
  • のみ実行
  • @BeforeEach
  • は、試験方法の実行前に実行する必要がある方法
  • を提供する.
  • は、主に予め設定する木材更新データ
  • に用いられる.
  • @AfterEach
  • @Test、@RepeatedTest、@ParameterizedTest、@TestFactoryのテストメソッドを実行し、
  • を実行します.
  • @Disabled
  • 試験クラスまたは無効化方法の試験
  • @DisplayNameGeneration
  • メソッドとクラスレポートタグテスト名
  • を使用する方法を設定します.
    ReplaceUnders Coreは
  • の基本的な実施プログラム
  • である.
  • @DisplayName
  • プレゼンテーション
  • は、テスト名をより簡単に記述する方法を提供する.
    優先度は
  • @DisplayNameGenerationより高い.
  • @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class)
    class TestStudyTest {
    
        @DisplayName("스터디 만들기")
        @Test
        void create_new_study() {
            TestStudy testStudy = new TestStudy();
            assertNotNull(testStudy);
            System.out.println("create!");
        }
    
        @Test
        void create_new_study_again() {
            TestStudy testStudy = new TestStudy();
            assertNotNull(testStudy);
            System.out.println("create2!");
        }
    
        @BeforeAll
        static void beforeAll() {
            System.out.println("BeforeAll!");
        }
    
        @AfterAll
        static void afterAll() {
            System.out.println("AfterAll!");
        }
    
        @BeforeEach
        void setUp() {
            System.out.println("BeforeEach!");
        }
    
        @AfterEach
        void tearDown() {
            System.out.println("AfterEach!");
        }
    }