#java #code-coverage #jacoco #maven-surefire-plugin #jmockit
#java #покрытие кода #jacoco #maven-верный плагин #jmockit
Вопрос:
У меня есть проект maven, где jmockit 1.18 используется для редактирования, surefire для запуска наборов тестов и jacoco для измерения покрытия кода.
Когда я пытаюсь обновить jmockit до версии 1.45, он выдает ошибку при инициализации виртуальной машины test suite runner. Однако тесты выполняются, когда javaagent явно передается как параметр argline.
Может кто-нибудь сказать мне, есть ли способ отключить инструментарий jmockit или инициализацию агента?
Комментарии:
1. Если
-javaagent:.../jmockit.jar
параметр инициализации JVM не используется, то JMockit ничего не делает. И даже если указанный параметр используется , он все равно не активирует инструментарий покрытия кода, только API-интерфейсы mocking amp; faking.
Ответ №1:
В примечаниях к выпуску JMockit явно указано
Версия 1.42 (26 августа 2018):
JMockit теперь требует использования параметра инициализации JVM «-javaagent».
В главе о выполнении тестов с помощью JMockit говорится
Для запуска тестов, использующих любой из JMockit API
…
Настройте JVM для выполнения теста, чтобы он начинался с «-javaagent:/jmockit.1.x.jar «параметр.
Это означает, что вы вынуждены использовать этот параметр запуска виртуальной машины.
По крайней мере, если вы хотите продолжать использовать JMockit.