Share via


Microsoft.Testing.Platform 개요

Microsoft.Testing.Platform은 CI(연속 통합) 파이프라인, CLI, Visual Studio 테스트 탐색기 및 VS Code 텍스트 탐색기를 포함한 모든 컨텍스트에서 테스트를 실행하기 위한 VSTest의 경량화된 이식 가능한 대안입니다. Microsoft.Testing.Platform은 테스트 프로젝트에 직접 포함되며 테스트를 실행하는 데 필요한 vstest.console 또는 dotnet test와 같은 다른 앱 종속성은 없습니다.

Microsoft.Testing.Platform은 오픈 소스입니다. Microsoft.Testing.Platform 코드를 microsoft/testfx GitHub 레포지토리에서 찾을 수 있습니다.

지원되는 테스트 프레임워크

테스트 실행 및 디버그

Microsoft.Testing.Platform 테스트 프로젝트는 직접 실행(또는 디버깅)할 수 있는 실행 파일로 빌드됩니다. 콘솔이나 명령을 실행하는 추가 테스트는 없습니다. 대부분의 실행 파일에서 일반적인 경우와 같이, 오류가 발생하면 앱이 0이 아닌 종료 코드로 종료됩니다. 알려진 종료 코드에 대한 자세한 내용은 Microsoft.Testing.Platform 종료 코드를 참조하세요.

Important

기본적으로 Microsoft.Testing.Platform은 원격 분석을 수집합니다. 선택 해제에 대한 자세한 내용 및 옵션은 Microsoft.Testing.Platform 원격 분석을 참조하세요.

dotnet publish을 사용하여 앱을 직접 실행하는 테스트 프로젝트를 게시하는 것 역시 테스트를 실행하는 한 가지 방법입니다. 예를 들어 ./Contoso.MyTests.exe를 실행한다고 합니다. 일부 시나리오에서는 실행 파일을 생성하는 데 dotnet build를 사용할 수도 있지만 네이티브 AOT와 같이 고려해야 할 경계적 사례가 있을 수 있습니다.

dotnet run 사용

dotnet run 명령을 사용하여 테스트 프로젝트를 빌드하고 실행할 수 있습니다. 이는 가끔은 가장 느린 방법이기는 해도 테스트를 실행하는 가장 쉬운 방법입니다. 로컬에서 프로젝트를 편집해 실행하는 경우 dotnet run을 사용하는 것은 필요시에 해당 테스트 프로젝트를 다시 빌드할 수 있다는 점에서 실용적입니다. dotnet run 역시 현재 폴더에서 프로젝트를 자동으로 찾습니다.

dotnet run --project Contoso.MyTests

dotnet run 관련 자세한 내용은 dotnet run을 참조합니다.

dotnet exec 사용

dotnet exec 또는 dotnet 명령은 이미 빌드된 테스트 프로젝트를 실행(또는 실행)하는 데 사용되며, 이는 애플리케이션을 직접 실행하는 대신 사용됩니다. dotnet exec에는 빌드된 테스트 프로젝트 dll에 대한 경로가 필요합니다.

dotnet exec Contoso.MyTests.dll

또는

dotnet Contoso.MyTests.dll

참고 항목

테스트 프로젝트 실행 파일(*.exe)에 대한 경로를 제공하면 다음 오류가 발생합니다.

Error:
  An assembly specified in the application dependencies manifest
  (Contoso.MyTests.deps.json) has already been found but with a different
  file extension:
    package: 'Contoso.MyTests', version: '1.0.0'
    path: 'Contoso.MyTests.dll'
    previously found assembly: 'S:\t\Contoso.MyTests\bin\Debug\net8.0\Contoso.MyTests.exe'

dotnet exec 관련 자세한 내용은 dotnet exec를 참조합니다.

dotnet test 사용

Microsoft.Testing.Platformvstest.console.exedotnet test와의 호환성 계층을 제공하여 새로운 실행 시나리오를 사용하도록 설정하는 동시에 이전처럼 테스트를 실행할 수 있도록 합니다.

dotnet test Contoso.MyTests.dll

옵션

아래 목록에서는 플랫폼 옵션만 설명합니다. 각 확장이 제공하는 특정 옵션을 보려면 확장 설명서 페이지를 참조하거나 --help 옵션을 사용합니다.

  • --diagnostic

진단 로깅을 사용하도록 설정합니다. 기본 로그 수준은 Trace입니다. 파일은 다음과 같은 이름 형식 log_[MMddHHssfff].diag으로 출력 디렉터리에 기록됩니다.

  • --diagnostic-filelogger-synchronouswrite

기본 제공 파일 로거가 로그를 동시에 작성하도록 합니다. 로그 항목을 잃지 않으려는 시나리오에 유용합니다(프로세스가 충돌하는 경우). 이렇게 하면 테스트 실행 속도는 확실히 느려집니다.

  • --diagnostic-output-directory

파일을 지정하지 않은 경우, 진단 로깅의 출력 디렉터리는 기본 TestResults 디렉터리에 생성됩니다.

  • --diagnostic-output-fileprefix

로그 파일 이름의 접두사입니다. 기본값은 "log_"입니다.

  • --diagnostic-verbosity

--diagnostic 스위치를 사용할 때 세부 정보 표시 수준을 정의합니다. 사용 가능한 값은 Trace, Debug, Information, Warning, Error, Critical입니다.

  • --help

명령을 사용하는 방법에 대한 설명을 출력합니다.

  • -ignore-exit-code

0이 아닌 일부 종료 코드를 무시하고 0로 반환할 수 있습니다. 자세한 내용은 특정 종료 코드 무시를 참조하세요.

  • --info

다음과 같은 .NET 테스트 애플리케이션 관련 고급 정보를 표시합니다.

  • 플랫폼.
  • 환경입니다.
  • 등록된 각 명령줄 공급자(예: 해당 공급자, name, version, description, options 공급자).
  • 등록된 각 도구(예: 해당 도구, command, name, version, description, 모든 명령줄 공급자).

이 기능은 다양한 확장 버전(또는 플랫폼) 사이에 동일한 명령줄 옵션 또는 사용할 수 있는 옵션 변경 내용을 등록하는 확장을 이해하는 데 사용됩니다.

  • --list-tests

사용 가능한 테스트를 나열합니다. 테스트는 실행되지 않습니다.

  • --minimum-expected-tests

실행될 것으로 예상되는 최소 테스트 수를 지정합니다. 기본적으로 하나 이상의 테스트가 실행될 것으로 예상됩니다.

  • --results-directory

테스트 결과가 배치될 디렉터리입니다. 지정한 디렉터리가 없으면 생성됩니다. 기본값은 TestResults이며 테스트 애플리케이션을 포함하는 디렉터리에 있습니다.

참고 항목