Ответ 1
Прагматичный ответ: переключите компилятор с "ajc" на "Eclipse" во время тестовой разработки. Не забудьте вернуть его при развертывании приложения!
В Eclipse (если я правильно помню), я мог бы запустить JUnit-тест почти мгновенно практически без запуска. Это означало, что через пару секунд я смогу выполнить цикл замены кода +.
Недавно я перешел на IDEA IntelliJ, который, похоже, должен "сделать" проект перед запуском unit test, если вы изменили какой-либо исходный код с момента последнего раза. Для меня это обычно занимает 20 секунд, что слишком долго, особенно для разработки, основанной на тестах.
Я могу снять флажок "Сделать перед запуском" в Run Configuration, но затем тест выполняется без компиляции последних изменений.
Вывод предупреждений во время "make" указывает на то, что он выполняет какое-то аспектное переплетение, по крайней мере, некоторое время. Я бы предположил, что для модульного тестирования вообще не нужны аспекты.
Моя догадка заключается в том, что Eclipse постоянно компилировался в фоновом режиме каждый раз, когда вы меняли исходный файл, и делаете это быстро, не делая аспектное переплетение.
Как ускорить мои тестовые циклы codechange + в IntelliJ?
Дополнительная информация: у меня есть опция "Компиляция в фоновом режиме" в настройках компилятора. Компилятор Java является ajc в com.springsource.org.aspectj.tools-1.6.8.RELEASE.jar
Прагматичный ответ: переключите компилятор с "ajc" на "Eclipse" во время тестовой разработки. Не забудьте вернуть его при развертывании приложения!
Параметры я активированы в IntelliJ, ускоряя выполнение тестов с 20 до 2,5 секунд:
Компилятор
Компилятор → Компилятор Java
Отвечая на мой собственный вопрос, насколько это возможно: (главным образом из компиляция Intellij idea tests занимает слишком много времени (по сравнению с Eclipse))
intellij не выполняет инкрементную компиляцию. Вы можете получить плагин, чтобы сделать это, но похоже, что он не работает с последней версией Intellij.
Еще одна обнадеживающая разработка, упомянутая в статье "Переполнение стека": ранний выпуск IntelliJ с октября 2011 года (EAP build 110.137) может иметь решение для этого: