dotnet test
와 함께 Microsoft.Testing.Platform을 사용합니다.
이 문서에서는 Microsoft.Testing.Platform
사용 시 dotnet test
를 사용하여 테스트를 실행하는 방법과 Microsoft.Testing.Platform을 통해 테스트를 실행할 때 생성되는 MSBuild 출력을 구성하는 데 사용할 수 있는 다양한 옵션에 대해 설명합니다.
이 문서에서는 dotnet test
를 사용하여 Microsoft.Testing.Platform
을 사용하는 솔루션(*.sln)에서 모든 테스트를 실행하는 방법을 보여 줍니다.
dotnet test
통합
dotnet test 명령은 솔루션, 프로젝트 또는 이미 빌드된 어셈블리에서 테스트를 실행하는 방법입니다. Microsoft.Testing.Platform은 이 인프라에 연결되어 특히 VSTest에서 Microsoft.Testing.Platform
으로 마이그레이션할 때 테스트를 실행하는 통합된 방법을 제공합니다.
dotnet test
통합 - VSTest 모드
Microsoft.Testing.Platform
은 dotnet test
와 원활하게 작동할 수 있도록 호환성 계층(VSTest 브리지)을 제공합니다.
테스트는 다음을 실행하여 실행할 수 있습니다.
dotnet test
이 계층은 VSTest를 통해 테스트를 실행하고 VSTest 테스트 프레임워크 어댑터 수준에서 통합됩니다.
dotnet test
- Microsoft.Testing.Platform 모드
기본적으로 VSTest는 Microsoft.Testing.Platform
테스트를 실행하는 데 사용됩니다. 프로젝트에서 <TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
설정을 지정하여 전체 Microsoft.Testing.Platform
을 사용하도록 설정할 수 있습니다. 이 설정은 VSTest를 사용하지 않도록 설정하고 Microsoft.Testing.Platform.MSBuild NuGet 패키지에 대한 전이적 종속성에 따라 솔루션에서 모든 Microsoft.Testing.Platform
지원 테스트 프로젝트를 직접 실행합니다. 직접 Microsoft.Testing.Platform
테스트 프로젝트를 통과하면 원활하게 작동합니다.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<!-- Add this to your project file. -->
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
</PropertyGroup>
<!-- ... -->
</Project>
이 모드에서는 실행에 대한 추가 매개 변수가 명령줄을 통해 직접 제공되지 않습니다. 이는 TestingPlatformCommandLineArguments
라는 MSBuild 속성으로 제공되어야 합니다.
dotnet test -p:TestingPlatformCommandLineArguments=" --minimum-expected-tests 10 "
추가 MSBuild 옵션
MSBuild 통합은 사용자 프로젝트에서 또는 명령줄의 전역 속성(예: -p:TestingPlatformShowTestsFailure=true
)을 통해 지정할 수 있는 옵션을 제공합니다.
사용 가능한 옵션은 다음과 같습니다.
테스트당 실패 표시
기본적으로 테스트 실패는 .log 파일로 요약되며 테스트 프로젝트당 단일 실패가 MSBuild에 보고됩니다.
실패한 테스트별로 오류를 표시하려면 명령줄에서 -p:TestingPlatformShowTestsFailure=true
를 지정하거나 프로젝트 파일에 <TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
속성을 추가합니다.
명령줄에서:
dotnet test -p:TestingPlatformShowTestsFailure=true
또는 프로젝트 파일에서:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!-- Add this to your project file. -->
<TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
</PropertyGroup>
<!-- ... -->
</Project>
전체 플랫폼 출력 표시
기본적으로 기본 테스트 실행 파일이 작성하는 모든 콘솔 출력은 캡처되어 사용자에게 숨겨집니다. 여기에는 배너, 버전 정보 및 형식화된 테스트 정보가 포함됩니다.
MSBuild 출력과 함께 이 정보를 표시하려면 <TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
을 사용합니다.
이 옵션은 테스트 프레임워크가 Console.WriteLine
에 의해 작성된 사용자 출력을 캡처하는 방법이나 콘솔에 쓰는 다른 유사한 방법에 영향을 주지 않습니다.
명령줄에서:
dotnet test -p:TestingPlatformCaptureOutput=false
또는 프로젝트 파일에서:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!-- Add this to your project file. -->
<TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
</PropertyGroup>
<!-- ... -->
</Project>
.NET
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기