Вот моя текущая настройка пакета:
Код: Выделить всё
import org.junit.platform.suite.api.SelectClasses;
import org.junit.platform.suite.api.Suite;
@Suite
@SelectClasses({
Test1.class, // Should run FIRST
Suite1.class, // Should run after Test1 but before Test2
Suite2.class, // Should run after Test1 but before Test2
Suite3.class, // Should run after Test1 but before Test2
Test2.class // Should run LAST
})
public class SuiteA { }
Код: Выделить всё
@Suite
@SelectClasses({TestXxx.class, SuiteXxx.class})
public class Suite1 { }
Тест1 выполнялся первым (начальная настройка и проверка)
Suite1, Suite2, Suite3 выполнялись между ними (основные тестовые пакеты)
Test2 выполняется последним (очистка и окончательная проверка)
Что я пробовал/исследовал:
Я знаю о @TestMethodOrder для упорядочивания методов внутри класса, но мне нужно упорядочение на уровне класса во всем пакете
Я рассмотрел @Suite документации, но не нашел явных элементов управления порядком.
Я рассматривал отдельные наборы, но мне нужна эта конкретная последовательность в одном выполнении.
Вопрос:
Каков стандартный подход JUnit 5 к обеспечению порядка выполнения тестовых классов внутри набора? Если декларативный порядок не поддерживается, каковы рекомендуемые шаблоны или обходные пути для достижения этой тестовой последовательности?
Я использую JUnit 5.8+/Jupiter с механизмом junit-platform-suite.
Пожалуйста, предоставьте конкретное решение — я уже знаю, что @SelectClasses не упорядочивает тесты. Мне нужна работающая реализация.
Подробнее здесь: https://stackoverflow.com/questions/797 ... t-5-suites
Мобильная версия