Вопрос
Когда я запускаю все наши тесты JUnit, используя eclipse, могу ли я установить тайм-аут по умолчанию?
Фон
Мой менеджер настаивает на написании модульных тестов, которые иногда занимают до 5 минут. Когда я пытаюсь запустить весь комплект тестов (всего около 300 тестов), он может занять более 30 минут. Я хочу поставить что-то на место, которое остановит любой тест, который займет больше 10 секунд.
Я знаю, что индивидуальный тест можно аннотировать с помощью:
@Test(timeout=10000)
Но сделать это заставит его длительные тесты всегда терпеть неудачу. Я хочу, чтобы они работали, когда он запускал их на своей коробке (если мне нужно внести незначительные корректировки в проект, прежде чем проверять его, это приемлемо. Однако удаление тайм-аутов из 40 различных тестовых файлов нецелесообразно).
Я также знаю, что могу создать задачу ant для установки тайм-аута по умолчанию для всех тестов в соответствии с:
<junit timeout="10000">
...
</junit>
Проблема с тем, что мы обычно запускаем наши тесты из внутреннего затмения с помощью Right Click > Run As > JUnit Test.
Резюме
Итак, существует относительно безболезненный способ установить тайм-аут для всех тестов, возможно, с использованием параметра "Настройка запуска" или "Настройка проекта" или "Предпочтения JUnit" или "Окружающая среда" или что-то еще? Я даже решил установить какой-либо другой плагин, который позволяет мне щелкнуть правой кнопкой мыши по определенным тестовым папкам и запустить все тесты другим способом, например, через ant или что-то в этом роде.