Есть ли способ остановиться на муравейнике - PullRequest
0 голосов
/ 31 марта 2011

Мне было интересно, можно ли вообще с помощью муравья остановиться на конкретном тесте.Пример: у меня есть следующая древовидная структура:

test
  package1
    TU_file1.java
    TU_file2.java
  package2
    TU_file3.java
    TU_file4.java

Мне было интересно, если я запускаю ant через junit, есть ли способ, которым я могу запустить file1, 2, 3 и остановиться прямо там.Я хочу иметь возможность получить базу данных до того, как она запустит мой 4-й неисправный тестовый модуль.Я хотел идеальную среду перед 4-м испытанием.Есть ли способ добиться этого с помощью наборов файлов или наборов шаблонов.Я знаю, что есть опция failonerror, но я не хочу, чтобы она вообще запускала 4-й тест.

Спасибо!

Ответы [ 3 ]

0 голосов
/ 31 марта 2011

В вашем файле сборки Ant при вызове задачи <junit> вы можете включить его в элемент <fileset>, который может определять, какие тесты следует запускать при сопоставлении с образцом. Для вашего примера вы можете определить ресурс внутри <fileset>, чтобы исключить TU_file4.java. Более подробную информацию смотрите в документации Apache для задачи Ant JUnit .

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

0 голосов
/ 01 апреля 2011

Рассматривали ли вы режим отладки Java? Это может быть хорошим выбором для остановки выполнения в точке останова с помощью удаленной отладки.

т.д .:

Edit:

Suite всегда должен запускаться в указанном вами порядке. Если вы хотите отсортировать методы @Test, вам нужно создать собственный TestRunner (расширение BlockJUnit4ClassRunner # computeTestMethods). Псевдокод:

  @Override
  public List computeTestMethods()
  {
    List myList = super.computeTestMethods();
    Collections.sort(myList, new MyTestMethodComaparator());
    return myList;
  }
0 голосов
/ 31 марта 2011

Решение Ant - добавить набор файлов в задачу junit:

<fileset dir="${src.tests}">
  <include name="**/TU_file*.java"/> <!-- or some other all inclusive pattern -->
  <exclude name="**/package2/TU_file4.java"/> <!-- exclude TU_file4.java -->
</fileset>

Решение JUnit 4.x - добавить аннотацию @Ignore в любой тест, который вы хотите исключить.

РЕДАКТИРОВАТЬ: Если вы хотите остановить выполнение до выполнения TU_file4, добавьте метод @BeforeClass, который ожидает ввода от System.in.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...