dotnet-test
.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)
./dotnet/README.md- 프로젝트 구조./dotnet/ARCHITECTURE.md- 아키텍처.pre-commit-config.yaml- Pre-commit hooksdotnet-buildskill - 빌드 스킬
More from icartsh/icartsh_plugin
file-organizer
컨텍스트 이해, 중복 파일 찾기, 더 나은 구조 제안 및 클린업 작업 자동화를 통해 컴퓨터의 파일과 폴더를 지능적으로 정리합니다. 인지 부하를 줄이고 수동 작업 없이 디지털 작업 공간을 깔끔하게 유지합니다.
25error-detective
TRACE 프레임워크(Trace, Read, Analyze, Check, Execute)를 사용한 체계적인 디버깅 및 에러 해결입니다. 에러 디버깅, 스택 트레이스(stack traces) 분석, 실패 조사, 근본 원인 분석(root cause analysis) 또는 운영 이슈 트러블슈팅 시 사용합니다.
22code-analyze
.NET 코드에서 정적 분석(Static analysis), 보안 스캔(Security scan) 및 종속성 체크(Dependency check)를 수행합니다. 코드 품질, 보안 감사 또는 취약점 탐지가 포함된 작업에서 사용합니다.
21markdown-pro
세련된 README 파일, 변경 이력(changelog), 기여 가이드(contribution guide) 및 기술 문서를 작성하기 위한 전문가 수준의 Markdown 문서화 SKILL입니다. 사용 사례: (1) 배지와 섹션을 포함한 README 생성, (2) git 히스토리를 이용한 자동 변경 이력 생성, (3) 목차(table of contents) 생성, (4) 기여 가이드라인 작성, (5) 기술 문서 포맷팅, (6) 구문 강조(syntax highlighting)를 포함한 코드 문서화
19coding-conventions
.NET/C#의 코딩 규약, 명명 규칙, 레이아웃, C# 12/13/14의 최신 기능 활용 가이드라인을 정의합니다. C#/.NET 코드 작성 시, 클래스·메서드 명명 시, 코드 포맷팅 시, 또는 사용자가 코딩 규약, 명명 규칙, C# 모범 사례, Primary Constructors, Collection Expressions, field 키워드에 대해 언급했을 때 사용합니다.
14dotnet-build
dotnet CLI를 사용하여 .NET 솔루션/프로젝트를 빌드합니다. 컴파일, 종속성 복원 또는 아티팩트 빌드 작업 시 사용합니다.
13