Установить тайм-аут JUnit в eclipse

Вопрос

Когда я запускаю все наши тесты JUnit, используя eclipse, могу ли я установить тайм-аут по умолчанию?

Общие сведения

Мой менеджер настаивает на написании модульных тестов, которые иногда занимают до 5 минут на завершение. Когда я пытаюсь запустить весь наш набор тестов (всего около 300 тестов), это может занять более 30 минут. Я хочу сделать что-то, что остановит любой тест, который занимает больше 10 секунд.

Я знаю, что отдельный тест можно аннотировать с помощью:

@Test(timeout=10000)

Но если это сделать, его длинные тесты всегда терпят неудачу. Я хочу, чтобы они работали, когда он запускает их на своем компьютере (если мне нужно внести незначительные изменения в проект перед его проверкой, это приемлемо. Однако удаление таймаутов из 40 различных тестовых файлов нецелесообразно).

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

<junit timeout="10000">
  ...
</junit>

Проблема с этим, мы обычно запускаем наши тесты изнутри eclipse с помощью Щелкните правой кнопкой мыши> Запуск от имени> JUnit Test .

Резюме

Итак, существует ли относительно безболезненный способ установить тайм-аут для всех тестов, возможно, используя параметр конфигурации запуска, или параметр проекта, или предпочтение JUnit, или переменную среды, или что-то еще? Я бы даже согласился установить какой-то другой плагин, который позволяет мне щелкать правой кнопкой мыши по определенным тестовым папкам и запускать все тесты каким-либо другим способом, например, через ant или что-то в этом роде. ..

16
задан gMale 13 November 2015 в 19:32
поделиться