Рубрики
Без рубрики

JUnit 5 – Вложенные и отключенные тесты

Вложенные тесты Вложенный тест используется для объединения нескольких методов тестирования в один… С пометкой java, тестирование, учебное пособие, новички.

Вложенный тест используется для группировки нескольких методов тестирования в единую логическую группу, что делает тестовый класс более организованным 😌 Аннотация, которую мы должны использовать для написания вложенных тестов, – это @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”