1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Dray-jacoco

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Введение

Jacoco был модифицирован и теперь включает функцию сопоставления инкрементального кода. Для ознакомления с деталями дизайна обратитесь к статье «Практика инкрементального сопоставления кода Jacoco» (https://blog.csdn.net/tushuping/article/details/112613528).

Изменения:

  • Новые классы: все новые классы находятся в пакете org.jacoco.core.internal.diff;
  • Изменённые классы: основные изменения коснулись классов org.jacoco.core.analysis.Analyzer, org.jacoco.core.analysis.CoverageBuilder и org.jacoco.core.internal.flowClassProbesAdapter. Все изменения можно найти в записях commit. Чтобы упростить просмотр, я постарался уменьшить количество коммитов.

Использование:

  1. Скачайте исходный код и сначала запустите mvn spotless:apply. Это необходимо для проверки файлов и классов. Если были добавлены или изменены классы, проверка должна быть выполнена повторно.
  2. Затем выполните команду maven: mvn clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true.
  3. Используйте jar-файл org.jacoco.cli-0.8.7-SNAPSHOT-nodeps для создания необходимого пакета (уже построен, не нужно компилировать, можно скачать здесь: https://gitee.com/Dray/jacoco/releases).
  4. Другие пакеты могут использовать официальные пакеты Jacoco, но рекомендуется поддерживать согласованность версий. Также можно использовать созданный пакет. При создании отчётов используйте созданный пакет с параметром --diffCode= для включения инкрементного покрытия кода.

Поскольку формат объектов является универсальным, его можно комбинировать с инструментом «Получение различий в коде» (https://gitee.com/Dray/code-diff.git).

Обратите внимание, что GitHub может быть нестабильным, поэтому рекомендуется использовать gitee (https://gitee.com/Dray/jacoco.git) для доступа к информации.

Для генерации отчётов Jacoco в многомодульных проектах используйте следующую команду:

java -jar org.jacoco.cli-0.8.7-SNAPSHOT-nodeps.jar report jacoco.exec --classfiles \Desktop\feigin\web\build\classes --classfiles \Desktop\feigin\biz\build\classes --classfiles \Desktop\feigin\base\build\classes --sourcefiles \Desktop\feigin\web\src\main\java --sourcefiles \Desktop\feigin\biz\src\main\java --sourcefiles \Desktop\feigin\base\src\main\java --html report --xml jacoco.xml --diffCode "[{"classFile":"com/dr/code/diff/config/GitConfig","methodInfos":[{"methodName":"cloneRepository","parameters":"String gitUrl,String codePath,String commitId"},{"methodName":"diffMethods","parameters":"DiffMethodParams diffMethodParams"},{"methodName":"getClassMethods","parameters":"String oldClassFile,String mewClassFile,DiffEntry diffEntry"}],"type":"MODIFY"},{"classFile":"com/dr/code/diff/controller/CodeDiffController","methodInfos":[{"methodName":"getList","parameters":"@ApiParam(required = true, name = \"gitUrl\", value = \"git远程仓库地址\") @RequestParam(value = \"gitUrl\") String gitUrl,@ApiParam(required = true, name = \"baseVersion\", value = \"git原始分支或tag\") @RequestParam(value = \"baseVersion\") String baseVersion,@ApiParam(required = true, name = \"nowVersion\", value = \"git现分支或tag\") @Requestparam(value = \"nowVersion\") String nowVersion"}],"type":"MODIFY"},{"classFile":"com/dr/code/diff/service/impl/CodeDiffServiceImpl","methodInfos":[{"methodName":"getDiffCode","parameters":"DiffMethodParams diffMethodParams"}],"type":"MODIFY"},{"classFile":"com/dr/common/utils/string/ScmStringUtil","methodInfos":[],"type":"ADD"}]" --encoding utf8.

Если в отчёте Jacoco возникают проблемы с кодировкой, добавьте параметр --encoding utf8 при выполнении команды. 5. Поскольку изменения в разном коде могут быть значительными, поддерживается передача файлов в формате JSONW: При выполнении команды необходимо ввести параметр --diffCodeFiles /app/diff/change.json. Данный способ поддерживает только один формат — либо файлы, либо строки.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Jacoco в двойном запуске, поддерживает инкрементальное покрытие кода. Развернуть Свернуть
EPL-2.0
Отмена

Обновления (1)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/Dray-jacoco.git
git@api.gitlife.ru:oschina-mirror/Dray-jacoco.git
oschina-mirror
Dray-jacoco
Dray-jacoco
master