파일별로 코드 적용 규칙을 정의할 수 있는 도구입니다. 모든 파일에 대한 최소 적용 범위 임계값을 설정하고 현재 테스트 적용 범위가 아직 표준에 미치지 못하는 경우 기존 파일에 대한 사용자 정의 최소 적용 범위를 구성합니다. 검사 실패는 체크스타일 형식으로 출력되므로 ci/cd 도구로 가져올 수 있습니다.
표준 적용 범위 계산은 전체 코드베이스에 대해 계산됩니다. 예를 들어 임계값이 80%이고 하나의 파일이 80% 아래로 떨어지면 전체 적용 범위가 87.6%에서 87.4%로 바뀌었기 때문에 이를 전혀 알 수 없습니다. 이 패키지는 이러한 일이 더 이상 발생하지 않도록 하고 적용 범위는 파일별로 계산됩니다.
입력: 클로버 Coverage.xml
출력: checkstyle 또는 gitlab
다음을 통해 라이브러리를 자신의 프로젝트에 종속성으로 포함시킵니다.
composer require "digitalrevolution/phpunit-file-coverage-inspection" --dev
파일: phpfci.xml
<?xml version="1.0" 인코딩="UTF-8"?> <phpfci xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="vendor/digitalrevolution/phpunit-file-coverage-inspection/resources/phpfci.xsd"min-coverage= "100"allow-uncovered-methods="false"> <custom-coverage><!-- 디렉터리 기반 적용 범위 규칙 --><directory path="src/Lib/" min="90"/><!-- 하위 디렉터리가 상위 디렉터리 규칙을 대체합니다 --><디렉터리 경로 ="src/Lib/Config/" min="100"/><!-- 파일 규칙은 항상 디렉터리 규칙보다 우선합니다 --><file path="src/Lib/Config/File.php" min="80 "/> </custom-coverage> <!-- 'allow-uncovered-methods'가 false로 설정된 경우 특정 파일에 대해 이 동작을 재정의합니다. --><ignore-uncovered-methods> <파일 경로="src/Command/ExampleCommand.php"/> </ignore-uncovered-methods> </phpfci>
옵션 | 필수의 | 기본 | 설명 |
---|---|---|---|
최소 적용 범위 | 예 | - | 최소 글로벌 적용 범위 |
발견된 방법 허용 | 아니요 | 거짓 | 모든 방법에는 최소한 어느 정도 적용 범위가 있어야 합니다. |
또는 기존 적용 범위 결과를 기반으로 구성 파일을 생성합니다.
php Vendor/bin/phpfci 기준선 --baseDir /home/ci/workspace Coverage.xml ./phpfci.xml
기본 디렉토리는 Coverage.xml의 파일 경로에서 제외됩니다.
체크스타일 형식:
php Vendor/bin/phpfci 검사 Coverage.xml --reportCheckstyle=reports/checkstyle.xml
Gitlab 형식:
php Vendor/bin/phpfci 검사 Coverage.xml --reportGitlab=reports/gitlab.errors.json
Gitlab 형식을 파일로 변환하고 텍스트를 stdout으로 출력합니다.
php Vendor/bin/phpfci 검사 Coverage.xml --reportGitlab=reports/gitlab.errors.json --reportText
표준 출력으로의 텍스트 형식:
php Vendor/bin/phpfci는 Coverage.xml을 검사합니다. php Vendor/bin/phpfci는 Coverage1.xml Coverage2.xml을 검사합니다.
php Vendor/bin/phpfci는 Coverage.xml --reportText를 검사합니다.
옵션 | 가치 | 설명 |
---|---|---|
argument 1 | inspect , baseline | 실행할 명령. |
argument 2 [ argument 3 ]... | coverage.xml [ coverage2.xml ] | phpunit 클로버 커버리지 입력 파일. |
--reportGitlab=[<file>] | 파일 경로 또는 없는 경우 stdout | gitlab 형식을 쓸 파일(또는 stdout)입니다. |
--reportCheckstyle=[<file>] | 파일 경로 또는 없는 경우 stdout | 체크스타일 형식을 쓸 파일(또는 stdout)입니다. |
--reportText=[<file>] | 파일 경로 또는 없는 경우 stdout | 체크스타일 형식을 쓸 파일(또는 stdout)입니다. |
--config=<path-to-file> | phpfci.xml | 구성 파일의 경로입니다. |
--baseDir=<path> | 기본값은 출력 파일의 디렉터리입니다. | 프로젝트의 루트 디렉터리는 상대 경로를 만드는 데 사용됩니다. |
--exit-code-on-failure | - | 실패 시 종료 코드를 1 로 설정합니다. |
참고: --reportGitlab
, --reportCheckstyle
또는 --reportText
가 설정되지 않은 경우 기본값은 --reportText=php://stdout
입니다.
세 번째 필수 인수와 --report
제거되었으며 --reportGitlab=<file>
, --reportCheckstyle=<file>
또는 --reportText=<file>
로 대체해야 합니다.
123inkt(Digital Revolution BV의 일부)에서는 매일 50명 이상의 개발 전문가가 내부 ERP와 여러 매장을 개선하기 위해 노력하고 있습니다. 우리와 함께하고 싶나요? 우리는 개발자를 찾고 있습니다.