Выберите порядок выполнить тесты JUnit

Я хотел выбрать порядок выполнить тесты JUnit. У меня есть 4 класса с несколькими методами тестирования в нем, моя цель состоит в том, чтобы выполнить, например, метод Y класса A, затем метод X от класса B и наконец метода Z от класса A.

Вы помогли бы?

9
задан Miguel Ribeiro 19 April 2010 в 17:15
поделиться

4 ответа

Как правило, вы не можете указать порядок, в котором выполняются отдельные модульные тесты (хотя вы можете указать приоритеты в TestNG и иметь разные приоритеты для каждого теста ). Однако модульные тесты должны выполняться изолированно, поэтому порядок тестов не имеет значения. Это плохая практика. Если вам нужно, чтобы тесты располагались в определенном порядке, вам следует переосмыслить свой дизайн. Если вы опубликуете подробности о том, зачем вам нужен заказ, я уверен, что мы сможем предложить свои предложения.

19
ответ дан 4 December 2019 в 06:08
поделиться

Ответ JUnit на этот вопрос - создать один метод тестирования, подобный этому:

  @Test public void testAll() {
       classA.y();
       classB.x();
       classA.z();
  }

Это, очевидно, неудовлетворительный ответ в некоторых случаях (когда установка и разборка имеет значение), но взгляд JUnit на модульное тестирование таков, что если тесты не являются независимыми, вы делаете что-то неправильно.

Если вышеперечисленное не соответствует вашим потребностям, взгляните на TestNG.

3
ответ дан 4 December 2019 в 06:08
поделиться

Создайте TestSuite и вызовите методы тестирования в желаемом порядке. @Yishai прав в том, что JUnit спроектирован таким образом, чтобы каждый тест был независимым. Поэтому, если вы вызываете тестовые методы, которые могут запускаться независимо, тогда не должно возникнуть проблем с созданием TestSuite для покрытия сценария для определенного порядка вызова.

2
ответ дан 4 December 2019 в 06:08
поделиться

Если предыдущий ответ не удовлетворяет, я заметил, что с Sun JVM JUnit всегда выполняет модульные тесты в порядок, в котором они определены. Очевидно, что полагаться на это - плохая идея.

0
ответ дан 4 December 2019 в 06:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: