Использование EvoSuite с JMockit для покрытия кода

Создали модульный тест с использованием EvoSuite и хотите использовать сборку maven для анализа покрытия кода в этом модульном тесте. Когда я запускаю maven build, я получаю...

JMockit Coverage был перезагружен через пользовательский загрузчик классов org.evosuite.runtime.instrumentation.EvoClassLoader;

а также

Класс org.xyz.MyClass$1 не был оборудован EvoSuite. Это может произойти, если вы выполняете тесты JUnit способом, который не обрабатывается EvoSuite, в котором некоторые классы загружаются для отражения перед запуском тестов. Консультируйтесь с документацией EvoSuite для возможных обходных путей для этой проблемы.

Таким образом, кажется, что код, который нарушает, это... if (!InstrumentedClass.class.isAssignableFrom(clazz)) { String msg = "Class " + clazz.getName() + "не был обработан EvoSuite. " + "Это может произойти если вы выполняете тесты JUnit способом, который не обрабатывается EvoSuite, в "+", который загружается некоторыми классами, будет отражено до запуска тестов. Обратитесь к документации EvoSuite "+" для возможных обходных путей для этой проблемы."; logger.error(MSG); проблема = правда; // бросаем новое IllegalStateException(msg); // бросить исключение может быть слишком экстремальным}

Можно ли запустить модульный тест EvoSuite через JMockit? Какие-либо предложения?

1 ответ

До прочтения этого вопроса я никогда не слышал о JMockit, так что это не то, что было в поле зрения EvoSuite...:(

во всяком случае, я просто добавил документацию по этому адресу:

http://www.evosuite.org/documentation/measuring-code-coverage/

Вы можете прочитать там, почему вы получаете 0% покрытия, и возможные обходные пути для него.

Другие вопросы по тегам