Мне бы хотелось, чтобы мой метод @Before знал аннотации выполняемых в настоящее время тестов, чтобы метод @Before мог выполнять различные действия. В частности, прямо сейчас наш @Before всегда выполняет различные шаги инициализации, такие как перезагрузка базы данных и т. Д. Я хотел бы иметь возможность писать код, подобный этому:
@Before
void setUp() {
if (testMethod.hasAnnotation(@NeedsDatabase)) {
reloadDatabase();
}
}
Я полагаю, что одним из решений было бы использование @Rule для инициализации БД, но это было бы сложно реализовать, и наша существующая инфраструктура уже обрабатывает это в @setUp. У нас уже есть пользовательский Runner, и все тесты расширяют общий базовый класс, если это помогает.
Я пытался придумать, как это сделать, но я не знаю, что доступно в JUnit4.