Github Actions 및 Codecov로 코드 커버리지 보고서 받기
따라서 프로젝트에 테스트를 설정하는 데 시간을 들였습니다. 어떻게 세상을 보여주나요?
인기 있는 서비스는 Codecov 이며 Github 리포지토리에서 해당 배지를 알아볼 수 있습니다.
하지만
Codecov는 정적 분석 도구이므로 이미 테스트된 보고서를 업로드해야 합니다. 한 가지 옵션은
coverage
폴더를 커밋하는 것이지만 이는 좋지 않은 생각입니다.구조에 대한 Github 작업!
Github Actions은 프로젝트에 CI을 추가할 수 있는 상당히 새로운 기능입니다.
몇 가지default templates가 있지만 불행히도 테스트를 실행하고 보고서를 Codecov로 보내는 데 사용할 수 있는 것은 없습니다.
Github 작업 설정
Github 작업은 .github/workflows
에 저장되며 작업 실행 방법을 지정하는 YAML
파일입니다. Check out the docs to find out more .
codecov-test-suites.yml
라는 파일을 추가하고 다음을 추가하여 간단한 작업을 설정합니다.
# .github/workflows/codecov-test-suites.yml
name: Run Test Suites
on: [push]
이렇게 하면 모든 푸시에 대해 트리거되는 새로운 워크플로우가 설정됩니다.
이제 우리는 그것이 일을 하도록 만들어야 합니다! 다음을 수행하는 작업을 이 파일에 추가해야 합니다.
# .github/workflows/codecov-test-suites.yml
name: Run Test Suites
on: [push]
이것은 쉬워요.
codecov-test-suites.yml
파일에 다음을 추가합니다.jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2 # Check out your repository
- run: yarn # Install dependencies
- run: yarn test --coverage # Run test
- run: bash <(curl -s https://codecov.io/bash) # Upload to Codecov
테스트가 실행되어야 하지만 커버리지가 0%인 것 같습니다. 뭐?
테스트가 이상한 폴더에서 실행되고 이것이 저장소 구조와 연결되지 않아 Codecov가 혼란스러워집니다.
이 문제를 해결하려면 프로젝트 루트에
codecov.yml
파일을 추가해야 합니다. 여기에서 파일 경로를 수정하는 방법을 지정합니다.# codecov.yml
fixes:
- "/home/runner/work/<project name>/<project name>/::" # Correct paths
Github에서 리포지토리 이름을 편집
<project name>
하고 커밋합니다.후자! Github Actions는 이제 푸시하고 Codecov로 보낼 때마다 자동으로 테스트를 실행해야 합니다!
Codecov의 배지 설정으로 이동하여 SVG의 장점을 얻으십시오.
이전의 100% 배지를 기억하십니까?
돈
// package.json
{
// Make sure jest creates lcov reports
"jest": {
"collectCoverage": true,
"coverageReporters": ["html", "lcov"]
}
}
# .github/workflows/codecov-test-suites.yml
name: Run Test Suites
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2 # Check out your repository
- run: yarn # Install dependencies
- run: yarn test --coverage # Run test
- run: bash <(curl -s https://codecov.io/bash) # Upload to Codecov
# codecov.yml
fixes:
- "/home/runner/work/<project name>/<project name>/::" # Correct paths
Reference
이 문제에 관하여(Github Actions 및 Codecov로 코드 커버리지 보고서 받기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/marcellothearcane/get-code-coverage-reports-with-github-actions-and-codecov-1n74
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// package.json
{
// Make sure jest creates lcov reports
"jest": {
"collectCoverage": true,
"coverageReporters": ["html", "lcov"]
}
}
# .github/workflows/codecov-test-suites.yml
name: Run Test Suites
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2 # Check out your repository
- run: yarn # Install dependencies
- run: yarn test --coverage # Run test
- run: bash <(curl -s https://codecov.io/bash) # Upload to Codecov
# codecov.yml
fixes:
- "/home/runner/work/<project name>/<project name>/::" # Correct paths
Reference
이 문제에 관하여(Github Actions 및 Codecov로 코드 커버리지 보고서 받기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/marcellothearcane/get-code-coverage-reports-with-github-actions-and-codecov-1n74텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)