이러한 기능을 사용하려면 각 섹션에 설명된 대로 추가 NuGet 패키지를 설치해야 합니다.
팁 (조언)
Microsoft.Testing.Platform.MSBuild(MSTest, NUnit 및 xUnit 실행기에서 전이적으로 포함)를 사용하는 경우 이러한 확장은 NuGet 패키지를 설치할 때 자동으로 등록되며 코드 변경이 필요하지 않습니다. 이 문서에서 지정한 수동 등록은 자동 생성된 진입점을 설정 <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>하여 사용하지 않도록 설정한 경우에만 필요합니다.
보고서 파일 이름
각 보고서 확장은 해당 파일을 테스트 결과 디렉터리에 기록하며, 이 디렉터리는 --results-directory 옵션으로 설정할 수 있습니다. 이름을 재정의하려면 해당 --report-*-filename 옵션을 사용하세요. 각 보고서 섹션에는 해당 보고서의 기본 이름이 나열됩니다.
파일 이름에는 테스트 결과 디렉터리 내에 유지되는 상대 경로가 포함될 수 있으며 다음 대체 항목(자리 표시자)을 사용할 수 있습니다.
| Placeholder | Description |
|---|---|
{asm} |
진입점 어셈블리 이름 또는 사용할 수 없는 경우 unknown |
{tfm} |
런타임에 검색된 대상 프레임워크 모니커(예: net9.0. |
{arch} |
프로세스 아키텍처(예: x64, x86또는 arm64. |
{pname} |
프로세스 이름 |
{pid} |
프로세스 ID입니다. |
{time} |
정밀도 높은 타임스탬프입니다. |
예를 들어 기본 --report-trx-filename "{asm}_{tfm}_{arch}.trx" TRX 이름을 재현합니다.
비고
자리 표시자 이름은 대/소문자를 구분하며 소문자를 사용합니다. 보고서 파일 이름에 대한 자리 표시자 지원은 버전 2.3.0부터 MTP에서 사용할 수 있습니다.
Visual Studio 테스트 보고서(TRX)
Visual Studio 테스트 결과 파일(또는 TRX)은 테스트 결과를 게시하기 위한 기본 형식입니다. 이 확장에는 Microsoft.Testing.Extensions.TrxReport NuGet 패키지가 필요합니다.
수동 등록
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddTrxReportProvider();
비고
수동 등록을 사용하는 경우 TRX 보고서 공급자를 마지막으로 등록합니다. 현재 구현은 등록 순서에 따라 달라지므로 다른 모든 확장 후에 등록하면 모든 테스트 데이터를 캡처할 수 있습니다.
비고
버전 1.9.0부터 MTP에서 사용할 수 있는 TRX 보고서에는 테스트 Description 필드가 포함됩니다.
비고
버전 2.3.0부터 MTP에서 사용할 수 있는 TRX 결과는 실행이 진행됨에 따라 디스크로 스트리밍됩니다. 테스트 호스트가 충돌하는 경우 TRX 파일은 크래시 전에 수집된 결과를 유지합니다.
옵션
| Option | Description |
|---|---|
--report-trx |
TRX 보고서를 생성합니다. |
--report-trx-filename |
생성된 TRX 보고서의 이름입니다. MTP 2.3.0부터 기본값은 결정적 {asm}_{tfm}_{arch}.trx 형식입니다. MTP 2.3.0 이전의 기본값은 .입니다 <UserName>_<MachineName>_<yyyy-MM-dd_HH_mm_ss.fffffff>.trx. 이름을 사용자 지정하려면 보고서 파일 이름을 참조하세요. |
보고서는 명령줄 인수를 통해 지정할 수 있는 기본 --results-directory 폴더 내에 저장됩니다.
HTML 보고서
HTML 보고서는 테스트 세션에 대한 대화형 자체 포함 HTML 파일을 만듭니다. 이 확장을 사용하려면 Microsoft.Testing.Extensions.HtmlReport NuGet 패키지가 필요합니다.
비고
버전 2.3.0부터 MTP에서 사용할 수 있습니다. 이 확장은 실험적이며 옵션 및 출력 형식은 이후 버전에서 변경될 수 있습니다.
수동 등록
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddHtmlReportProvider();
옵션
| Option | Description |
|---|---|
--report-html |
HTML 보고서를 생성합니다. |
--report-html-filename |
생성된 HTML 보고서의 이름입니다. 값은 으로 .html끝나야 합니다. 기본값은 {asm}_{tfm}_{arch}.html입니다. 이름을 사용자 지정하려면 보고서 파일 이름을 참조하세요.
--report-html가 필요합니다. |
JUnit 보고서
JUnit 보고서는 테스트 세션에 대한 JUnit 호환 XML 파일을 만듭니다. 이 확장에는 Microsoft.Testing.Extensions.JUnitReport NuGet 패키지가 필요합니다.
비고
버전 2.3.0부터 MTP에서 사용할 수 있습니다. 이 확장은 실험적이며 옵션 및 출력 형식은 이후 버전에서 변경될 수 있습니다.
수동 등록
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddJUnitReportProvider();
옵션
| Option | Description |
|---|---|
--report-junit |
JUnit XML 보고서를 생성합니다. |
--report-junit-filename |
생성된 JUnit XML 보고서의 이름입니다. 값은 으로 .xml끝나야 합니다. 기본값은 {asm}_{tfm}_{arch}.xml입니다. 이름을 사용자 지정하려면 보고서 파일 이름을 참조하세요.
--report-junit가 필요합니다. |
CTRF 보고서
CTRF 보고서는 테스트 세션에 공통 테스트 보고서 형식 을 사용하는 JSON 파일을 만듭니다. 이 확장에는 Microsoft.Testing.Extensions.CtrfReport NuGet 패키지가 필요합니다.
비고
버전 2.3.0부터 MTP에서 사용할 수 있습니다. 이 확장은 실험적이며 옵션 및 출력 형식은 이후 버전에서 변경될 수 있습니다.
수동 등록
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddCtrfReportProvider();
옵션
| Option | Description |
|---|---|
--report-ctrf |
CTRF JSON 보고서를 생성합니다. |
--report-ctrf-filename |
생성된 CTRF JSON 보고서의 이름입니다. 값은 으로 .json끝나야 합니다. 기본값은 <UserName>_<MachineName>_<assembly>_<tfm>_<timestamp>.ctrf.json입니다. 이름을 사용자 지정하려면 보고서 파일 이름을 참조하세요.
--report-ctrf가 필요합니다. |
Azure DevOps 보고서
Azure DevOps 보고서 플러그 인은 GitHub 코드를 호스트하지만 Azure DevOps 빌드 에이전트를 기반으로 하는 개발자를 위한 테스트 실행을 향상시킵니다. GitHub PR에서 실패를 직접 표시하기 위해 실패에 대한 추가 정보를 추가합니다.
이 확장에는 Microsoft.Testing.Extensions.AzureDevOpsReport NuGet 패키지가 필요합니다.
수동 등록
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHost.AddAzureDevOpsProvider();
옵션
| Option | MTP 버전 | Description |
|---|---|---|
--report-azdo |
1.9.0 | Azure DevOps 보고서 생성기를 사용하도록 설정합니다. 오류 및 경고는 Azure DevOps 이해하는 형식으로 출력에 기록됩니다. |
--report-azdo-severity |
1.9.0 | 보고된 이벤트에 사용할 심각도입니다. 유효한 값은 error (기본값) 및 warning. |
--report-azdo-flaky-history |
2.3.0 | 지난 N일(1~90일) 동안의 Azure DevOps 테스트 결과 이력을 조회하고, 보고된 실패에 불안정성 맥락 정보를 주석으로 추가합니다.
--report-azdo가 필요합니다. |
--report-azdo-demote-known-flaky |
2.3.0 | Azure DevOps 기록 기간 내에서 충분히 간헐적으로 발생하는 실패(기본 임계값: 25%)를 오류에서 경고로 낮춥니다.
--report-azdo 및 --report-azdo-flaky-history가 필요합니다. |
--report-azdo-quarantine-file |
2.3.0 | 격리된 테스트 정규화된 이름 또는 glob 패턴을 나열하는 텍스트 파일의 경로입니다. 일치 실패는 경고로 보고됩니다.
--report-azdo가 필요합니다. |
--report-azdo-summary |
2.3.0 | 테스트 실행이 끝날 때 Markdown 작업 요약을 작성하고 이를 통해 ##vso[task.uploadsummary]업로드합니다. 선택적 파일 경로 인수는 기본 위치({testResultsDir}/azdo-summary-{tfm}.md)를 재정의합니다.
--report-azdo가 필요합니다. |
--report-azdo-stackframe-filter |
2.3.0 | 확장이 주석을 추가할 사용자의 호출 위치를 찾을 때 건너뛰도록, 각 스택 프레임의 완전 수식 형식 접두사와 일치하는 정규식 패턴을 추가합니다. 이 옵션은 최대 16개의 패턴을 반복할 수 있으며 각 패턴은 500ms 일치 시간 제한으로 컴파일됩니다. 이러한 패턴은 확장 기능에 기본 제공되는 MSTest 어설션 구현용 접두사에 추가로 적용됩니다.
--report-azdo가 필요합니다. |
--report-azdo-upload-artifacts |
2.3.0 | 테스트 결과 파일을 업로드하고 빌드 태그를 Azure DevOps 추가합니다. 유효한 값은 off (기본값), tags-only및 filesall. |
--report-azdo-upload-artifact-include |
2.3.0 | 테스트 결과 디렉터리를 기준으로 하는 glob 패턴을 사용하여 파일을 Azure DevOps 아티팩트 업로드에 포함합니다. 기본값은 **/*입니다. 가 --report-azdo-upload-artifacts 아닌 off값이어야 합니다. |
--report-azdo-upload-artifact-exclude |
2.3.0 | 테스트 결과 디렉터리에 상대적인 glob 패턴을 사용하여 Azure DevOps 아티팩트 업로드에서 파일을 제외합니다. 가 --report-azdo-upload-artifacts 아닌 off값이어야 합니다. |
--report-azdo-upload-artifact-name |
2.3.0 | Azure DevOps 아티팩트 컨테이너 이름을 재정의합니다. 기본값은 TestResults_{assemblyName}_{tfm}입니다. 가 --report-azdo-upload-artifacts 아닌 off값이어야 합니다. |
--publish-azdo-test-results |
2.3.0 | 테스트 결과를 Azure DevOps Tests 탭에 게시합니다. |
--publish-azdo-run-name |
2.3.0 | 라이브 테스트 결과 게시에 대한 사용자 지정 Azure DevOps 테스트 실행 이름을 설정합니다.
--publish-azdo-test-results가 필요합니다. |
비고
MTP 버전 열에는 안정적인 빌드에서 각 옵션을 처음 사용할 수 있게 된 MTP 릴리스가 나열됩니다. Azure DevOps 확장 자체는 MTP 1.9.0 --report-azdo 에서 안정되었으며 --report-azdo-severity나머지 옵션은 MTP 2.3.0에 추가되었습니다.
확장은 환경 변수를 확인하여 CI(연속 통합) 환경에서 실행 중임을 자동으로 검색합니다 TF_BUILD .
GitHub Actions 보고서
GitHub Actions 보고서는 GitHub Actions 고유의 워크플로 명령을 출력하므로 테스트 실행 시 실행기에서 뛰어난 사용 경험을 제공합니다. 여기에는 어셈블리별 로그 그룹, 실패하거나 건너뛴 테스트에 대한 주석(워크플로의 Annotations 탭에 표시되며, 소스 위치를 확인할 수 있는 경우 풀 리퀘스트의 Files changed diff에도 표시됨), GITHUB_STEP_SUMMARY가 가리키는 파일에 추가되는 Markdown 작업 요약, 그리고 느린 테스트 알림이 포함됩니다.
확장은 실행이 GitHub Actions 있고(GITHUB_ACTIONS환경 변수가true) 스위치가 --report-gh 설정된 경우에만 활성화됩니다. 그렇지 않으면 아무 작업도 수행하지 않습니다. 활성 상태인 경우 각 기능은 기본적으로 사용하도록 설정되며 해당 --report-gh-* 옵션을 사용하여 개별적으로 해제할 수 있습니다.
비고
버전 2.3.0부터 MTP에서 사용할 수 있습니다. 이 확장은 실험적이며 옵션 및 출력 형식은 이후 버전에서 변경될 수 있습니다.
수동 등록
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddGitHubActionsProvider();
옵션
| Option | MTP 버전 | Description |
|---|---|---|
--report-gh |
2.3.0 | 테스트 실행 시 워크플로 명령을 내보내도록 GitHub Actions 보고서 생성기를 사용하도록 설정합니다. 해당 실행은 GitHub Actions에서 실행되어야 합니다. |
--report-gh-groups |
2.3.0 | 어셈블리별 로그 그룹을 사용하거나 사용하지 않도록 설정합니다. 유효한 값은 on (기본값) 및 off.
--report-gh가 필요합니다. |
--report-gh-annotations |
2.3.0 | 실패한 테스트와 건너뛴 테스트에 대한 주석을 사용하거나 사용하지 않도록 설정합니다. 유효한 값은 on (기본값) 및 off.
--report-gh가 필요합니다. |
--report-gh-step-summary |
2.3.0 |
GITHUB_STEP_SUMMARY에서 참조되는 파일에 Markdown 작업 요약을 작성할지 여부를 설정합니다. 유효한 값은 on (기본값) 및 off.
--report-gh가 필요합니다. |
--report-gh-slow-test-notices |
2.3.0 | 느린 테스트 알림을 사용하거나 사용하지 않도록 설정합니다. 유효한 값은 on (기본값) 및 off.
--report-gh가 필요합니다. |
--report-gh-slow-test-threshold |
2.3.0 | 느린 테스트 알림이 표시되기 전에 테스트를 실행할 수 있는 시간입니다. 초를 나타내는 숫자만 입력하거나 90s, 2m, 1.5h와 같은 단위 접미사가 붙은 값을 허용합니다. 기본값은 60s입니다.
--report-gh가 필요합니다. |
.NET