Есть ли способ записать значение причины JUnit5 @Disabled во время полного теста? - PullRequest
1 голос
/ 12 марта 2019

Я исчерпал множество поисковых терминов, которые, как я думал, могли бы дать мне прямой ответ, и я не нашел ничего определенного (даже в документах JUnit5). Есть ли способ извлечь «причину» из аннотации @Disabled в JUnit5? Текущий подход, с которым я работаю:

  1. Создать класс расширения, который реализует BeforeEachCallback
  2. Просмотрите аннотации метода испытаний в поисках instanceof Disabled
  3. Найдя эту аннотацию, получите значение причины и зарегистрируйте

Логика есть и работает на одном конкретном тестовом прогоне, но когда я запускаю полный тестовый класс, метод пропускается в @Override BeforeEachCallback. Поэтому я предполагаю, что JUnit совершает магию, которая исключает его из жизненного цикла тестового прогона в целом. Если это так, есть ли способ получить эту аннотацию и зарегистрировать ее в более ранней точке, чем BeforeEachCallback? Я также пробовал BeforeAllCallback, но не смог получить доступ к дочерним методам тестового класса.

1 Ответ

1 голос
/ 14 марта 2019

API расширений, такие как BeforeEachCallback, не вызываются для метода тестирования, который отключен через ExecutionCondition.

JUnit Jupiter 5.4 представил новый TestWatcher API расширения, которыйимеет testDisabled() обратный вызов для отключенных тестов.Подробнее об этом можно прочитать в руководстве пользователя .

...