Вопрос

Благодаря обновлению библиотеки (easymock 2.2 -> 2.4) у нас есть тесты, которые начали блокироваться.Я бы хотел взять тайм-аут на индивидуальные тесты, на все из них.Идея состоит в том, чтобы определить заблокированные тесты - о которых мы сейчас догадываемся - и исправить их.

Возможно ли это, предпочтительно на уровне всего комплекса?У нас есть 400 тестов, выполнение которых для каждого метода или даже каждого класса займет много времени.

Это было полезно?

Решение

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

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

Другие советы

Если уровень набора оказывается неправильным подходом (т.е."слишком широкая сеть", потому что в конечном итоге вы помечаете слишком много методов ограничением времени ожидания), вам нужно определить пользовательский Iannotationтрансформатор который для каждой неразборчивой функции даст вам возможность изменить аннотацию @Test (например, с помощью Метод setTimout()).
(setTimout(0) отменяет директиву о тайм-ауте)

Очень поздно, но:Выполняется jstack -l <PID> выдаст вам дамп стека, который вы можете просмотреть, чтобы определить, какие вызовы застряли.Возможно, вам захочется попробовать несколько раз, чтобы убедиться, что они застряли.

Вы можете выполнить поиск и заменить "@Test" на "@Test (timeout=)" Должно сработать, чтобы найти заблокированный тест, и после этого его можно отменить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top