Вложенный тест используется для группировки нескольких методов тестирования в единую логическую группу, что делает тестовый класс более организованным 😌 Аннотация, которую мы должны использовать для написания вложенных тестов, – это @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); } } }
В приведенном выше коде у нас есть класс Вложенный тестовый класс
который имеет
@Вложенная
Вложенные тестовые классы позволяют использовать только две аннотации @beforeEach
и @afterEach
. Это означает, что вы не можете использовать аннотации @Перед всеми
или @AfterAll
внутри вложенного тестового класса.
Наконец, мы поговорим об отключенных тестах. Это используется для отключения выполнения любого теста. Вы должны использовать аннотацию @Disabled
на случай, если вы хотите отключить выполнение теста.
@Test @Disabled public void TestDisabled() { ManageEmployees employees = new ManageEmployees(); employees.addEmployee("Emmet", "Cullen", "0123458762"); }
В приведенном выше коде нет никакой магии. Точно такая же структура, с которой вы знакомы. Мы даем тесту аннотацию @Disabled
и тест остается без выполнения, и вы можете увидеть этот вывод в терминале;
Да, мы сделали это!!! 🥳 Здесь заканчивается серия учебных пособий по JUnit 🤩 Я почти уверен, что теперь вы достаточно хорошо знакомы с методами написания тестов.
Вы можете найти все исходные коды с методами тестирования, которые мы написали в этой серии руководств, перейдя в мой репозиторий git . Папка Learn JUnit Final содержит завершенный набор кода.
Не останавливайся здесь. Продолжайте практиковать 👩 💻 Удачного Тестирования 😎
Оригинал: “https://dev.to/chathurashmini/junit-5-nested-disabled-tests-2fan”