Мы используем powermock для издевательств статических методов с помощью аннотаций @PrepareForTest
. Тест работает нормально, но проблема в том, что для выполнения теста требуется больше времени.Тесты Powermock JUnit занимают больше времени для выполнения по сравнению с обычным JUnit
Фрагмент кода, как показано ниже:
@PrepareForTest({ StaticClass1.class, StaticClass2.class })
Обычно JUnit с вне насмешливый статический метод принимает около 2 раз сек для выполнения, но когда мы добавим @PrepareForTest
аннотацию насмехаясь статические вызовы, тест занимает около минуты, чтобы завершить выполнение. Для одного теста это не оказывает большого влияния, но у нас более 1K тестов, а общее время сборки составляет более 2 часов, что раньше занимало около 20-30 минут.
Что может быть причиной того, что электростанция занимает столько времени.
Любая помощь была бы принята с благодарностью.
приборы, выполненные powermock, не являются бесплатными. –
Если вам нужны powermock для всех ваших тестов, у вас, вероятно, есть серьезные проблемы с дизайном. Попробуйте написать тестовый код, то есть код, который не нуждается в проверке черной магии powermock. Используйте инъекцию зависимостей. –
Спасибо за быстрый ответ. Но можете ли вы, пожалуйста, сказать мне точно, как то, что вы подразумеваете под инструментами, не является бесплатным. – Srikanth