У нас есть пара очень медленных тестов JUnit, которые сильно используют насмешку, в том числе Mocking статических функций. Одиночные тесты занимают 20-30 секунд, весь «тест mvn» занимает 25 минут.Профилирование тестов JUnit с помощью PowerMock?
Я хочу проанализировать, где время потрачено впустую, но мало опыта в профилировании.
Я предполагаю, что инициализация зависимых макет-объектов занимает слишком много времени.
Два вопроса:
1) Как я могу быстро получить номера, в которых методы впустую время? Мне не нужен комплексный инструмент power-user, просто что-то базовое для получения чисел. (доказательство того, что такой насмешливый вид - злой)
2) Есть ли у вас идеи, какие дефекты дизайна могут вызвать такие плохие тайминги? Мы тестируем бэкэнды JSF, которые должны вызывать издевательства. Возможно, в базовых компонентах может быть какая-то логика ввода-вывода или не рефакторизованная бизнес-логика, но это не может быть изменено (PLS не комментирует это ;-))
ad 2) Например, один тест имеет около 30 (!), которые должны быть подготовлены для тестирования с помощью @PrepareForTest. Это не может быть хорошо, но я не могу объяснить, почему.