Delphi Code Coverage는 자세한 맵 파일을 기반으로 코드 커버리지 보고서를 작성하는 Delphi의 간단한 코드 커버리지 도구입니다.
이 프로젝트는 델파이드에 마법사를 추가하여 구성을 만들고 델파이 코드 커버리지를 시작하는 데 도움이 되므로이 프로젝트를 확인하십시오.
코드 커버리지 보고서를 실행하려는 프로젝트에는 자세한 맵 파일을 생성하는 "디버그"구성이 있어야합니다.
Delphi Code Coverage는 현재 "라인 커버리지"만 측정하며, 즉 코드가 생성 된 각 줄을 추적하고 실행 된 경우 표시합니다.
Borland 패키지 라이브러리 (기본적으로 DLL) 또는 외부 DLL을 사용하는 응용 프로그램의 경우 DCC는 각 DLL에 대한 .map 파일을로드하려고 시도하며 해당 라이브러리의 유닛이 다루는 장치의 일부인 경우 코드 커버리지는 응용 프로그램의 일부로로드 된 DLL/BPL에 걸쳐 있습니다. .map 파일은로드 된 DLL과 동일한 디렉토리에 존재해야합니다.
최신 릴리스를 다운로드하고 파일을 압축하여 델파이 설치 "bin"디렉토리 또는 "경로"에있는 곳에 두십시오.
모든 매개 변수는 배치 스타일의 환경 변수 (예 : % windir % 등)를 이해합니다. 소스 디렉토리에 파일을 사용하는 경우 ( -spf 참조) 허용되는 환경 변수도 있습니다. "! -uf 단위 이름 앞에.
컴파일 된 응용 프로그램 및 실행 파일이있는 디렉토리에서 명령 줄 프롬프트를 엽니 다.
유형 : CodeCoverage -m TestApp.map -e TestApp.exe -u TestUnit TestUnit2 -xml -html
사용 된 최신 언어 기능으로 인해 다소 새로운 컴파일러가 필요합니다. 이 프로젝트는 Delphi XE2를 지원하지 않는 것으로 알려져 있습니다. XE3는 아마도 작동 할 것입니다. 메인 개발은 10.x 버전으로 수행됩니다.
-html 지정 매개 변수)각 단위마다 적용 범위의 요약이있는 init.html이 있고 그 뒤에 소스가 표시됩니다. 녹색 선이 덮여있었습니다. 빨간 선은 덮은 선이 아닙니다. 다른 줄에는 코드가 생성되지 않았습니다. 커버리지를 요약하고 생성 된 단위 보고서에 대한 링크가있는 Codecoverage_summary.html 파일도 있습니다.
-xml 매개 변수로 지정)Codecoverage_summary.xml이라는 요약 XML 보고서는 EMMA의 XML 출력과 호환되는 출력 디렉토리에서 생성됩니다. 라인 당 자세한 코드 적용 범위를 위해 스위치 '-xmllines'및 '-xmlgenerics'와 함께 사용하십시오.
-emma 또는 -emma21 매개 변수로 지정)이제 Emma를 사용하여 Emma를 사용하여 여러 코드 커버리지 실행을 병합하고 보고서 생성을 위해 Emma를 사용할 수 있습니다.
DCC는 최대 10.4.2, 32 및 64 비트까지 델파이와 호환됩니다.
Sonarqube에 XML 보고서의 결과를 통합 할 수 있습니다. 자세한 정보는 Delphi Sonarqube 플러그인 또는 최신 버전을 참조하십시오.
Hudson Emma 플러그인을 사용하여 XML 보고서를 통합 할 수 있습니다. HTML 보고서는 HTML 게시자 플러그인을 사용하여 통합 될 수 있습니다.
최신 발표는 Devfactory와 Mendrix의 관대 한 지원을 통해 가능해졌습니다.
이 프로젝트는 Emma와 같은 Java 세계의 훌륭한 도구에서 영감을 얻었습니다. 이 프로젝트는 1 년 이상 내 하드 드라이브에서 미완성 된 형태로 남아 있습니다. 마침내 미끄러졌습니다.
-m MapFile.map | 입력으로 사용 된지도 파일 |
-e Executable.exe | 실행할 실행 파일 |
-sd directory | 소스를 찾을 수있는 디렉토리 |
-sp directory directory2 | 소스를 찾을 수있는 디렉토리 |
-spf filename | 파일에 나열된 소스 디렉토리를 Filename에 의해 사용하십시오. 파일의 한 줄 당 하나의 디렉토리 |
-esm mask1 mask2 etc | 단위 목록에서 제외 할 파일 마스크 목록 |
-ism mask1 mask2 etc | 제공된 파일 마스크와 일치하는 장치 만 incude하십시오 |
-ecp prefix1 mask2 etc | 적용 범위에서 제외 할 클래스 접두사 목록 |
-od directory | 출력 파일을 넣을 디렉토리 - 참고 - 디렉토리가 존재해야합니다. |
-u TestUnit TestUnit2 | 코드 커버리지를 확인 해야하는 단위 |
-uf filename | 파일에 나열된 표지 단위는 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 커버리지 출력을 'Coverage.es'로 생성합니다. |
-emma21 | 출력 디렉토리에서 EMMA21 적용 범위 출력을 'Coverage.es'로 생성합니다. |
-meta | 메타 데이터 및 커버리지 데이터에 대해 Emma 출력 - 'Coverage.em'및 'Coverage.ec'을 생성 할 때 별도의 메타 및 커버리지 파일을 생성합니다. 참고 : -Emma도 필요합니다. |
-xml | XML 커버리지 출력 생성 - 출력 디렉토리에서 'CodeCoverage_summary.xml'로 XML 출력을 생성합니다. |
-xmllines | 생성 된 XML 커버리지 출력에 라인 커버리지를 추가합니다. |
-xmlgenerics | 동일한 파일 이름의 여러 발생에 대한 라인 커버리지를 결합하십시오 (특히 일반 클래스의 경우 유용한 경우). |
-html | 출력 디렉토리에서 'codecoverage_summary.html'로 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 Code Coverage는 Mozilla Public License, v. 2.0의 조건에 따라 라이센스가 부여됩니다. http://mozilla.org/mpl/2.0/에서 라이센스 사본을 얻을 수 있습니다.