Code Code Delphi - это простой инструмент покрытия кода для Delphi, который создает отчеты о покрытии кода на основе подробных файлов карт.
Пожалуйста, также ознакомьтесь с этим проектом, поскольку он добавляет мастер в Delphi IDE, чтобы помочь создать конфигурацию и запустить покрытие кода Delphi.
Проект, который вы хотите запустить отчет о покрытии кода, должен иметь конфигурацию «отладки», которая генерирует подробный файл карты.
Покрытие кода Delphi в настоящее время измеряет только «покрытие линии», то есть он будет отслеживать каждую строку, которую был сгенерирован код, и отмечать его, если он будет выполнен.
Для приложений, которые используют библиотеки пакетов Borland (по существу DLL) или внешние DLL, DCC попытается загрузить файл .map для каждого DLL, и если он существует и единицы в этих библиотеках являются частью покрытых единиц, покрытие кода будет охватывать DLL/BPL, загруженные как часть приложения. Файл .map должен существовать в том же каталоге, что и DLL, который был загружен.
Загрузите последний релиз, расстегно откапливаться в файл и поместите его, например, в свой каталог Delphi «Bin» или где -то, где он находится в «Путе».
Все параметры понимают также переменные среды в стиле пакетного стиля (например, Windir % и т. Д.) Если для исходных каталогов (см. -spf ) также разрешены переменные среды. Возможно исключить конкретные единицы в файле единиц (см. -uf ), считывая "!" Перед названием устройства.
Откройте подсказку командной строки в каталоге, где составное приложение и исполняемый файл.
Тип: CodeCoverage -m TestApp.map -e TestApp.exe -u TestUnit TestUnit2 -xml -html
Из -за более новых языковых функций требуется несколько более нового компилятора. Известно, что проект не поддерживает Delphi XE2. XE3, вероятно, будет работать. Основная разработка выполняется с 10.x версиями.
-html как параметр)Для каждого устройства будет единица. Html с кратким обложением, за которым следует измеченный источник. Зеленые линии были покрыты. Красные линии не были покрытыми линиями. Другие строки не сгенерировали для него код. Существует также файл codecoverage_summary.html, который суммирует покрытие и имеет ссылки на отчеты сгенерированных модулей.
-xml как параметр)Краткий отчет XML под названием CodeCoverage_Summary.xml генерируется в выходном каталоге, который совместим с выходом XML от EMMA. Используйте в сочетании с переключателями «-xmllines» и «-xmlGenerics» для подробного покрытия кода на строку.
-emma или -emma21 как параметр)Теперь можно создать совместимый вывод EMMA, который позволяет использовать EMMA для объединения нескольких прогонов покрытия кода, а также использования EMMA для генерации отчетов.
DCC совместим с Delphi до 10.4.2, как 32, так и 64 бит.
Вы можете интегрировать результаты отчета XML в Sonarqube. Смотрите плагин Delphi Sonarqube или более новую версию здесь для подробной информации.
Вы можете интегрировать отчет XML с помощью плагина Hudson Emma. Отчет HTML может быть интегрирован с использованием плагина HTML Publisher.
Последние выпущенные были стали возможными благодаря щедрой поддержке несуществующего и Mendrix.
Этот проект был вдохновлен отличными инструментами в мире Java, таких как Эмма. Этот проект задерживается в незаконченной форме на моем жестком плане более года. Наконец он выскользнул.
-m MapFile.map | Файл карты, используемый в качестве ввода |
-e Executable.exe | Исполняемый файл для запуска |
-sd directory | Каталог, в котором можно найти источник |
-sp directory directory2 | Каталоги, где можно найти источник |
-spf filename | Используйте исходные каталоги, перечисленные в файле, на котором указано имя файла. Один каталог на строку в файле |
-esm mask1 mask2 etc | Список масок файлов, чтобы исключить из списка единиц |
-ism mask1 mask2 etc | Выпустить только единицы, соответствующие предоставленным маскам файла |
-ecp prefix1 mask2 etc | Список префиксов класса, чтобы исключить из покрытия |
-od directory | Каталог, в котором будут установлены выходные файлы - примечание - каталог должен существовать |
-u TestUnit TestUnit2 | Единицы, которые должны быть проверены на покрытие кода |
-uf filename | Обложка единиц, перечисленных в файле, на котором указано имя файла. Одна единица на строку в файле |
-v | Показать многословный выход |
-dproj ProjectFile.dproj | Распокачивайте файл проекта для источника DIRS, Имя исполняемого, кодового и других параметров. Обратите внимание, что параметры, которые могут иметь только одно одно значение, например, кодовая страница, будут перезаписаны в порядке внешнего вида, если встречаются несколько связанных переключателей. |
-a Param Param2 | Параметры для передачи в приложение, которое должно быть проверено на покрытие кода. ^ это эвапажный персонаж |
-lt [filename] | Журналировать события в файл журнала текста. Имя файла по умолчанию: delphi-code-coverage-debug.log |
-lapi | События журнала в Windows API outputDebugString |
-ife | Включите расширение файла - это остановит «common.encodings» быть «преобразованным» в «Common» |
-efe | Исключить расширение файла - это будет «преобразовано» «common.encodings.pas» в «common.encodings» (и, к сожалению, «common.encodings» в «Common»). Это включено по умолчанию. |
-emma | Сгенерировать вывод покрытия EMMA как «покрытие. |
-emma21 | Сгенерируйте выход покрытия EMMA21 как «покрытие» в выходном каталоге. |
-meta | Сгенерируйте отдельные файлы мета и покрытие при генерации вывода EMMA - «Coverge.em» и «Coverge.ec» будут генерироваться для метаданных и данных охвата. ПРИМЕЧАНИЕ: нуждается -емма. |
-xml | Сгенерировать выходной сигнал XML - генерируйте вывод XML как 'CodeCoverage_summary.xml' в выходном каталоге. |
-xmllines | Добавляет покрытие линий к выходу сгенерированного покрытия XML. |
-xmlgenerics | Объедините покрытие линий для многочисленных вхождений одного и того же имени файла (особенно полезное в случае общих классов). |
-html | Сгенерируйте выход HTML покрытия как «CodeCoverage_summary.html» в выходном каталоге. |
-uns dll_or_exe unitname [unitname_2] | Создайте отдельное пространство имен (имя пространства имен будет именем модуля без расширения) только для перечисленных единиц в модуле |
-mns name dll_or_exe [dll_or_exe_2] | Создайте отдельное пространство имен с данным именем для перечисленного DLL: s. Все модули, загруженные в эти модуля (ы), будут заселены именами. |
-lcl LineCountLimit | Количество раз, когда строка выполняется до указанного предела |
-cp CodePage | Кодовая страница номер исходных файлов |
-tec | Пересекать исходное код осмотренного приложения |
-twd | Используйте путь приложения в качестве рабочего каталога |
Покрытие кода Delphi лицензируется в соответствии с условиями общественной лицензии Mozilla, v. 2.0. Вы можете получить копию лицензии по адресу http://mozilla.org/mpl/2.0/.