JUnit 5 - 중첩 및 비활성화 테스트

중첩 테스트



중첩 테스트는 여러 테스트 메서드를 단일 논리 그룹으로 그룹화하여 테스트 클래스를 보다 체계적으로 보이게 만드는 데 사용됩니다. 😌 중첩 테스트를 작성하는 데 사용해야 하는 주석은 @Nested 입니다. 중첩 테스트 작성은 다른 테스트 메소드 작성과 약간 다릅니다. 여기에서 @Nested 주석이 있는 모든 테스트를 포함하는 클래스를 선언합니다. 아래 주어진 예를 확인하십시오.

import org.junit.jupiter.api.*;
import org.junit.jupiter.api.condition.EnabledOnOs;
import org.junit.jupiter.api.condition.OS;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvFileSource;

public class TestManageEmployees {
    @Nested
    class NestedTestClass {

        @Test
        @DisplayName("Should Be Enabled Only On MAC OS")
        @EnabledOnOs(value = OS.MAC, disabledReason = "Test is only enabled on MAC OS")
        public void TestEnabledOnOS() {
            System.out.println("Tests EnabledOnOs annotation");
        }

        @DisplayName("Add Employee using CsvFileSource")
        @ParameterizedTest
        @CsvFileSource(resources = "/data.csv")
        public void TestParameterizedTestCsvFileSource(String contact_number) {
            ManageEmployees employees = new ManageEmployees();
            employees.addEmployee("Alice", "Cullen", contact_number);
            Assertions.assertFalse(employees.getEmployees().isEmpty());
            Assertions.assertEquals(1, employees.getEmployees().size());
            System.out.println("Line with the contact number: " + contact_number);
        }
    }
}


위의 코드에는 NestedTestClass 주석이 있는 클래스@Nested가 있습니다. 이 클래스 내에서 두 가지 테스트 메서드를 선언했습니다. 이렇게 하면 테스트 클래스가 깨끗하고 깔끔해집니다. 이 두 가지 테스트에 대해서는 설명하지 않겠습니다. 이제 여러분이 이러한 간단한 테스트 방법을 이해하는 전문가라고 확신하기 때문입니다. 😁

Nested Test classes only allow to use the two annotations @BeforeEach and @AfterEach. Which means you cannot use the annotations @BeforeAll or @AfterAll inside a Nested test class.



비활성화된 테스트



마지막으로 비활성화 테스트에 대해 이야기하겠습니다. 테스트 실행을 비활성화하는 데 사용됩니다. 테스트 실행을 비활성화하려는 경우 주석@Disabled을 사용해야 합니다.

@Test
@Disabled
public void TestDisabled() {
    ManageEmployees employees = new ManageEmployees();
    employees.addEmployee("Emmet", "Cullen", "0123458762");
}


위의 코드에는 마법이 없습니다. 여러분이 알고 계시는 구조와 동일합니다. 테스트에 주석@Disabled을 지정하면 테스트가 실행되지 않고 유지되며 터미널에서 이 출력을 볼 수 있습니다.


네, 해냈습니다!!! 🥳 이것으로 JUnit에 대한 튜토리얼 시리즈를 마칩니다.

You can find all the source codes with the test methods that we wrote in this tutorial series, by heading into my git repository. The folder LearnJUnitFinal contains the finalized code set.



여기에서 멈추지 마십시오. 계속 연습하세요 👩‍💻 행복한 테스트 😎

좋은 웹페이지 즐겨찾기