- name
- dotnet-test
- version
- 0.1.0
- kind
- cli
- description
- Run .NET tests using dotnet CLI. Use when task involves executing unit tests, generating code coverage reports, or running benchmarks.
- inputs
- target
- [all, project, specific]
- configuration
- [Debug, Release]
- coverage
- ['true', 'false']
- project_path
- string
- contracts
- success
- Tests pass with zero failures; coverage data generated if requested
- failure
- Non-zero exit code, test failures, or coverage generation errors
.NET Test Skill (Entry Map)
Goal: Guide agent to the exact testing procedure needed.
Quick Start (Pick One)
- Run unit tests →
references/run-unit-tests.md - Generate coverage report →
references/generate-coverage.md - Run benchmarks →
references/run-benchmarks.md
When to Use
- Execute unit tests (xUnit, NUnit)
- Generate code coverage reports with coverlet
- Run performance benchmarks with BenchmarkDotNet
- Validate code changes with test suites
- Measure test execution time
NOT for: building code (dotnet-build), formatting (code-format), or static analysis (code-analyze)
Inputs & Outputs
Inputs: target (all/project/specific), configuration (Debug/Release), coverage (true/false), project_path (default: all test projects)
Outputs: Test results (pass/fail counts), coverage reports (if requested), benchmark results, exit code (0=success)
Guardrails: Operate in ./dotnet only, report failures clearly, never skip tests without permission
Navigation
1. Run Unit Tests → references/run-unit-tests.md
- Run all tests, run specific project tests, troubleshoot test failures
2. Generate Coverage Report → references/generate-coverage.md
- Collect coverage data, generate reports (HTML/Cobertura), analyze coverage metrics
3. Run Benchmarks → references/run-benchmarks.md
- Execute performance benchmarks, compare results, optimize based on data
Common Patterns
Run All Tests (Quick)
cd ./dotnet
dotnet testRun Tests with Verbose Output
cd ./dotnet
dotnet test --verbosity normalRun Specific Test Project
cd ./dotnet
dotnet test console-app.Tests/PigeonPea.Console.Tests.csprojRun Tests with Coverage
cd ./dotnet
dotnet test --collect:"XPlat Code Coverage"Run Tests and Generate Coverage Report
cd ./dotnet
dotnet test --collect:"XPlat Code Coverage" --results-directory ./TestResults
# Coverage file: ./TestResults/{guid}/coverage.cobertura.xmlFilter Tests by Name
cd ./dotnet
dotnet test --filter "FullyQualifiedName~FrameTests"Filter Tests by Category
cd ./dotnet
dotnet test --filter "Category=Unit"Run Tests in Release Configuration
cd ./dotnet
dotnet test --configuration ReleaseRun Benchmarks
cd ./dotnet/benchmarks
dotnet run -c ReleaseTroubleshooting
Tests fail: Check test output for assertion failures. See references/run-unit-tests.md for debugging.
Coverage not generated: Ensure coverlet.collector is installed. See references/generate-coverage.md.
Benchmarks fail to run: Use Release configuration. See references/run-benchmarks.md.
Slow test execution: Filter tests, run in parallel, or use --no-build after building.
Test discovery fails: Check project references, ensure test framework packages are installed.
Success Indicators
Passed! - Failed: 0, Passed: 42, Skipped: 0, Total: 42Test artifacts in: ./dotnet/TestResults/
Coverage report in: ./dotnet/TestResults/coverage.cobertura.xml
Integration
Before testing: dotnet-build (ensure code is built) After testing: code-analyze (static analysis), code-review (quality checks)
Test Frameworks
This repository uses:
- xUnit for unit tests (console-app.Tests, shared-app.Tests, windows-app.Tests)
- coverlet.collector for code coverage
- BenchmarkDotNet for performance benchmarks
Related
./dotnet/README.md- Project structure./dotnet/ARCHITECTURE.md- Architecture.pre-commit-config.yaml- Pre-commit hooksdotnet-buildskill - Build skill