GitHub 리포지토리에 PHP 및 Pest용 테스트 커버리지 배지 추가
GitHub 리포지토리의 Readme 파일에 배지를 포함할 수 있습니다.
배지는 다음을 위한 것입니다.
배지를 생성할 수 있는 좋은 웹사이트는 https://shields.io/입니다.
필요에 맞는 배지를 찾지 못한 경우 배지를 만들거나 필요에 맞는 몇 가지 도구를 사용할 수 있습니다.
마지막 프로젝트에서 테스트 코드 커버리지를 측정해야 했습니다.
Code coverage is the percentage of code which is covered by automated tests. Code coverage measurement simply determines which lines of code / instructions have been executed through a test run, and which lines / instructions have not. The percentage is calculated based on code covered and all code (number of lines of code).
일반적으로 테스트 스위트가 예를 들어 명령줄을 통해 터미널에서 실행되는 경우 결과가 터미널에 표시됩니다.
"표준"형식으로 일부 특정 파일에 결과를 저장하는 옵션도 있습니다.
예를 들어 "clover"형식은 코드 적용 범위와 기타 유용한 메트릭을 보고하는 XML 파일입니다.
GitHub Actions 워크플로에서 테스트 스위트를 실행하는 경우 클로버 형식을 읽고 커버리지 값을 사용하여 배지를 렌더링할 수 있는 특정 작업이 필요합니다.
그런 다음 저장소에 배지를 커밋해야 합니다.
요약하자면:
Readme 파일에 배지 이미지를 포함해야 합니다.
GitHub 작업 워크플로에서 테스트 실행
테스트를 실행하려면 PHPUnit 또는 Pest를 사용할 수 있습니다. 두 도구 모두 보고서를 클로버 형식으로 저장하는 옵션이 있습니다(Pest는 PHPUnit에서 제공하는 기능을 사용함).
- name: Execute tests (Unit and Feature tests) via PestPHP
run: vendor/bin/pest --coverage-clover clover.xml
이런 식으로 clover.xml 파일이 생성됩니다.
배지 만들기
배지를 만들기 위해 다음 작업을 찾았습니다. phpunit-coverage-badge .
이 조치:
- name: Generate test coverage badge
uses: timkrase/[email protected]
with:
coverage_badge_path: 'badge-coverage.svg'
push_badge: true
repo_token: ${{ secrets.GITHUB_TOKEN }}
이제 메인 브랜치에서 코드를 푸시할 때마다 테스트 스위트가 실행되고 배지가 업데이트됩니다.
읽어보기 파일 업데이트
이제 배지 파일이 생성되었으므로 이미지에 대한 일반적인 마크다운 구문을 사용하여 readme 파일에 배지 파일을 포함해야 합니다.
[![Test Coverage](https://raw.githubusercontent.com/Hi-Folks/array/main/badge-coverage.svg)](https://packagist.org/packages/hi-folks/array)
Hi-Folks/array를 프로젝트의 org/repo로 교체해야 합니다.
현재 배지는 다음과 같습니다.
워크플로 파일
전체 yaml 파일(.github/workflows 디렉터리에 저장해야 함):
name: Test Coverage PHP Package
on:
push:
branches:
- main
jobs:
laravel-tests:
runs-on: ubuntu-latest
strategy:
matrix:
operating-system: [ubuntu-latest]
php-versions: [ '8.0' ]
name: P${{ matrix.php-versions }} - L${{ matrix.laravel }} - ${{ matrix.operating-system}}
steps:
- uses: actions/checkout@v2
- name: Install PHP versions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Show dir
run: pwd
- name: PHP Version
run: php --version
# Code quality
- name: Execute tests (Unit and Feature tests) via PestPHP
# Set environment
env:
SESSION_DRIVER: array
run: vendor/bin/pest --coverage-clover clover.xml
- name: Generate test coverage badge
uses: timkrase/[email protected]
with:
coverage_badge_path: 'badge-coverage.svg'
push_badge: true
repo_token: ${{ secrets.GITHUB_TOKEN }}
Reference
이 문제에 관하여(GitHub 리포지토리에 PHP 및 Pest용 테스트 커버리지 배지 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/robertobutti/add-test-coverage-badge-for-php-and-pest-in-your-github-repository-37mo텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)