Claude Code Plugins

Community-maintained marketplace

Feedback

Run .NET tests using dotnet CLI. Use when task involves executing unit tests, generating code coverage reports, or running benchmarks.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name dotnet-test
version 0.1.0
kind cli
description dotnet CLI를 사용하여 .NET 테스트를 실행합니다. 유닛 테스트 실행, 코드 커버리지 리포트 생성 또는 벤치마크 수행 시 사용합니다.
inputs [object Object]
contracts [object Object]

.NET Test Skill (Entry Map)

목표: 정확한 테스트 절차를 안내합니다.

빠른 시작 (택일)

  • 유닛 테스트 실행references/run-unit-tests.md
  • 커버리지 리포트 생성references/generate-coverage.md
  • 벤치마크 실행references/run-benchmarks.md

사용 시기

  • 유닛 테스트 실행 (xUnit, NUnit)
  • coverlet을 이용한 코드 커버리지 리포트 생성
  • BenchmarkDotNet을 이용한 성능 벤치마크 수행
  • 테스트 스위트를 통한 코드 변경 사항 검증
  • 테스트 실행 시간 측정

다음의 경우에는 사용하지 마세요: 코드 빌드 (dotnet-build), 포맷팅 (code-format), 또는 정적 분석 (code-analyze)

입력 및 출력 (Inputs & Outputs)

입력: target (all/project/specific), configuration (Debug/Release), coverage (true/false), project_path (기본값: 모든 테스트 프로젝트)

출력: 테스트 결과 (성공/실패 카운트), 커버리지 리포트 (요청 시), 벤치마크 결과, 종료 코드 (0=성공)

가드레일: ./dotnet 디렉토리 내에서만 작업하며, 실패 사항을 명확히 보고하고, 허가 없이 테스트를 건너뛰지 않습니다.

탐색 (Navigation)

1. 유닛 테스트 실행`references/run-unit-tests.md`

  • 모든 테스트 실행, 특정 프로젝트 테스트 실행, 테스트 실패 트러블슈팅

2. 커버리지 리포트 생성`references/generate-coverage.md`

  • 커버리지 데이터 수집, 리포트 생성 (HTML/Cobertura), 커버리지 지표 분석

3. 벤치마크 실행`references/run-benchmarks.md`

  • 성능 벤치마크 수행, 결과 비교, 데이터 기반 최적화

일반적인 패턴 (Common Patterns)

모든 테스트 실행 (빠른 속도)

cd ./dotnet
dotnet test

상세 출력을 포함한 테스트 실행

cd ./dotnet
dotnet test --verbosity normal

특정 테스트 프로젝트 실행

cd ./dotnet
dotnet test console-app.Tests/PigeonPea.Console.Tests.csproj

커버리지와 함께 테스트 실행

cd ./dotnet
dotnet test --collect:"XPlat Code Coverage"

테스트 실행 및 커버리지 리포트 생성

cd ./dotnet
dotnet test --collect:"XPlat Code Coverage" --results-directory ./TestResults
# 커버리지 파일: ./TestResults/{guid}/coverage.cobertura.xml

이름으로 테스트 필터링

cd ./dotnet
dotnet test --filter "FullyQualifiedName~FrameTests"

카테고리로 테스트 필터링

cd ./dotnet
dotnet test --filter "Category=Unit"

Release 구정으로 테스트 실행

cd ./dotnet
dotnet test --configuration Release

벤치마크 실행

cd ./dotnet/benchmarks
dotnet run -c Release

트러블슈팅 (Troubleshooting)

테스트 실패: Assertion 실패에 대한 테스트 출력을 확인하세요. 디버깅은 references/run-unit-tests.md를 참조하세요.

커버리지 미생성: coverlet.collector가 설치되어 있는지 확인하세요. references/generate-coverage.md를 참조하세요.

벤치마크 실행 실패: Release 구성을 사용해야 합니다. references/run-benchmarks.md를 참조하세요.

테스트 실행 속도 저하: 테스트 필터 사용, 병렬 실행 또는 빌드 후 --no-build 옵션을 사용하세요.

테스트 발견 실패: 프로젝트 참조를 확인하고 테스트 프레임워크 패키지가 설치되어 있는지 확인하세요.

성공 지표 (Success Indicators)

Passed!  - Failed:     0, Passed:    42, Skipped:     0, Total:    42

테스트 아티팩트 위치: ./dotnet/TestResults/

커버리지 리포트 위치: ./dotnet/TestResults/coverage.cobertura.xml

통합 (Integration)

테스트 전: dotnet-build (코드가 빌드되었는지 확인) 테스트 후: code-analyze (정적 분석), code-review (품질 검사)

테스트 프레임워크

이 저장소는 다음을 사용합니다:

  • 유닛 테스트를 위한 xUnit (console-app.Tests, shared-app.Tests, windows-app.Tests)
  • 코드 커버리지를 위한 coverlet.collector
  • 성능 벤치마크를 위한 BenchmarkDotNet

관련 링크 (Related)