InfoGrab Docs

코드 커버리지

코드 커버리지에 대해 설명합니다.

코드 커버리지를 구성하여 소스 코드의 얼마나 많은 부분이 테스트로 커버되는지 추적하고 시각화하세요. 다음을 수행할 수 있습니다: coverage 키워드를 사용하여 전체 커버리지 지표와 추세를 추적합니다. artifacts:reports:coverage_report 키워드를 사용하여 줄별 커버리지를 시각화합니다. 커버리지 보고 구성 # coverage 키워드를 사용하여 테스트 커버리지를 모니터링하고 머지 리퀘스트에서 커버리지 요구 사항을 강제합니다. 커버리지 보고를 사용하면 다음을 수행할 수 있습니다: 머지 리퀘스트에 전체 커버리지 비율을 표시합니다. 여러 테스트 작업의 커버리지를 집계합니다. 커버리지 검사 승인 규칙을 추가합니다. 시간에 따른 커버리지 추세를 추적합니다. 커버리지 보고를 구성하려면: 파이프라인 구성에 coverage 키워드를 추가합니다: test-unit: script: - coverage run unit/ coverage: '/TOTAL.+ ([0-9]{1,3}%)/' test-integration: script: - coverage run integration/ coverage: '/TOTAL.+ ([0-9]{1,3}%)/' 테스트 출력 형식에 맞게 정규 표현식(regex)을 구성합니다. 일반적인 패턴은 커버리지 regex 패턴 을 참조하세요. 여러 작업의 커버리지를 집계하려면 포함할 각 작업에 coverage 키워드를 추가합니다. 선택 사항. 커버리지 검사 승인 규칙을 추가합니다 . 커버리지 regex 패턴 # 다음 샘플 regex 패턴은 일반적인 테스트 커버리지 도구의 커버리지 출력을 파싱하도록 설계되었습니다. regex 패턴을 신중하게 테스트하세요. 도구 출력 형식은 시간이 지남에 따라 변경될 수 있으며, 이러한 패턴은 더 이상 예상대로 작동하지 않을 수 있습니다. --> Python and Ruby C/C++ and Rust Java and JVM Node.js PHP Go .NET and PowerShell Elixir 도구 언어 명령 Regex 패턴 pytest-cov Python pytest --cov /TOTAL.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/ Simplecov-html Ruby rspec spec /Line\sCoverage:\s\d+\.\d+%/ 도구 언어 명령 Regex 패턴 gcovr C/C++ gcovr /^TOTAL.*\s+(\d+\%)$/ tarpaulin Rust cargo tarpaulin /^\d+.\d+% coverage/ 도구 언어 명령 Regex 패턴 JaCoCo Java/Kotlin ./gradlew test jacocoTestReport /Total.*?([0-9]{1,3})%/ Scoverage Scala sbt coverage test coverageReport /(?i)total.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/ 도구 명령 Regex 패턴 tap tap --coverage-report=