이 문서에서는 코드 검사 기능과 관련된 모든 Microsoft.Testing.Platform 확장을 나열하고 설명합니다.
코드 검사 기능을 사용하여 단위 테스트와 같은 코딩된 테스트에서 테스트 중인 프로젝트 코드의 비율을 확인할 수 있습니다. 버그를 효과적으로 방지하려면 테스트에서 코드의 상당 부분을 테스트하거나 포함하도록 해야 합니다.
Microsoft 코드 커버리지
Microsoft 코드 검사 분석은 관리형(CLR) 및 관리되지 않는(네이티브) 코드 모두에 대해 가능합니다. 정적 계측과 동적 계측이 모두 지원됩니다. 이 확장은 Microsoft.Testing.Extensions.CodeCoverage NuGet 패키지의 일부로 제공됩니다.
메모
기본적으로 확장에서 관리되지 않는(네이티브) 코드 검사를 사용할 수 없습니다. 필요한 경우 플래그 EnableStaticNativeInstrumentation 및 EnableDynamicNativeInstrumentation 사용하여 사용하도록 설정합니다.
관리되지 않는 코드 검사에 대한 자세한 내용은 정적 및 동적 네이티브 계측참조하세요.
중요하다
패키지는 무료로 사용 가능한 폐쇄 소스의 Microsoft .NET 라이브러리 라이선스 모델과 함께 제공됩니다.
Microsoft 코드 검사에 대한 자세한 내용은 GitHub 페이지참조하세요.
Microsoft 코드 커버리지에서는 다음 옵션을 제공합니다.
| 옵션 | 설명 |
|---|---|
--coverage |
dotnet-coverage 도구를 사용하여 코드 커버리지를 수집합니다. |
--coverage-output |
생성된 커버리지 파일의 이름 또는 경로입니다. 기본적으로 파일은 TestResults/<guid>.coverage. |
--coverage-output-format |
출력 파일 형식입니다. 지원되는 값은 coverage, xml및 cobertura. 기본값은 coverage. |
--coverage-settings |
XML 코드 검사 설정. |
사용 가능한 옵션에 대한 자세한 내용은 설정 및 샘플참조하세요.
메모
Microsoft.Testing.Extensions.CodeCoverage의 IncludeTestAssembly 기본값은 false이고, VSTest에서는 true였습니다. 즉, 테스트 프로젝트는 기본적으로 제외됩니다. 자세한 내용은 코드 검사 구성을 참조하세요.
버전 호환성
다음 표에서는 다양한 버전의 Microsoft.Testing.Extensions.CodeCoverage와 Microsoft.Testing.Platform 간의 호환성을 보여 줍니다.
| Microsoft.Testing.Extensions.CodeCoverage | Microsoft.Testing.Platform |
|---|---|
| 18.1.x | 2.0.x |
| 18.0.x | 1.8.x |
| 17.14.x | 1.6.2 |
메모
최상의 호환성 및 최신 기능을 위해 두 패키지의 최신 버전을 함께 사용하는 것이 좋습니다.
장식용 침대 커버
중요하다
coverlet.collector NuGet 패키지는 VSTest용으로 특별히 설계되었으며 Microsoft.Testing.Platform사용할 수 없습니다.
현재 Coverlet 확장은 없지만 Coverlet .NET 전역 도구을 사용할 수 있습니다.
Coverlet 전역 도구를 이미 설치했다고 가정하면 이제 다음을 실행할 수 있습니다.
coverlet .\bin\Debug\net8.0\TestProject2.dll --target "dotnet" --targetargs "test .\bin\Debug\net8.0\TestProject2.dll --no-build"
.NET