Dotnet Test
by @dotnet · plugin · 20 skills
Skills for running, generating, analyzing, and improving .NET tests: test execution, filtering, platform detection, coverage, testability, and MSTest workflows.
Install the whole plugin (CLI)
npx skillmds add dotnet/run-tests
npx skillmds add dotnet/crap-score
npx skillmds add dotnet/grade-tests
npx skillmds add dotnet/test-tagging
npx skillmds add dotnet/filter-syntax
npx skillmds add dotnet/mtp-hot-reload
npx skillmds add dotnet/assertion-quality
npx skillmds add dotnet/coverage-analysis
npx skillmds add dotnet/test-gap-analysis
npx skillmds add dotnet/code-testing-agent
npx skillmds add dotnet/platform-detection
npx skillmds add dotnet/test-anti-patterns
npx skillmds add dotnet/test-smell-detection
npx skillmds add dotnet/writing-mstest-tests
npx skillmds add dotnet/find-untested-sources
npx skillmds add dotnet/code-testing-extensions
npx skillmds add dotnet/test-analysis-extensions
npx skillmds add dotnet/migrate-static-to-wrapper
npx skillmds add dotnet/detect-static-dependencies
npx skillmds add dotnet/generate-testability-wrappersSkills in this plugin
- ▌ run-tests · dotnetRun, filter, or troubleshoot .NET tests with `dotnet test`, detecting the test platform (VSTest vs Microsoft.Testing.Platform) and framework to apply the correct command syntax.
- ▌ crap-score · dotnetCalculates CRAP (Change Risk Anti-Patterns) scores for .NET methods by combining cyclomatic complexity with code coverage data from Cobertura XML reports.
- ▌ grade-tests · dotnetGrades individual test methods and produces a compact markdown table with a letter grade, score band, and one-line note for each test.
- ▌ test-tagging · dotnetAnalyzes test suites across multiple languages and tags each test with standardized traits (positive, negative, critical-path, etc.) for better test categorization and coverage visibility.
- ▌ filter-syntax · dotnetReference for test filter syntax across VSTest and MTP platforms, covering MSTest, NUnit, xUnit v3, and TUnit frameworks with examples and translation guidance.
- ▌ mtp-hot-reload · dotnetSets up Microsoft Testing Platform hot reload to iterate fixes on failing tests without rebuilding, covering package installation, environment configuration, and the iterative workflow.
- ▌ assertion-quality · dotnetAnalyzes test suites to measure assertion diversity, detect shallow or trivial assertions, and identify tests that lack meaningful verification.
- ▌ coverage-analysis · dotnet bundleAnalyzes .NET project code coverage and CRAP (Change Risk Anti-Patterns) scores to identify risk hotspots, methods blocking coverage gains, and prioritize where to add tests.
- ▌ test-gap-analysis · dotnetAnalyzes production code to find gaps in existing tests by reasoning about hypothetical mutations and checking whether tests would catch them.
- ▌ code-testing-agent · dotnet bundleGenerates and writes unit tests for any programming language using a multi-agent pipeline that researches, plans, and implements tests with build and verification steps.
- ▌ platform-detection · dotnetDetects the test platform (VSTest vs Microsoft.Testing.Platform) and test framework (MSTest, xUnit, NUnit, TUnit) from .NET project files.
- ▌ test-anti-patterns · dotnetAudits test files for anti-patterns and quality issues, producing a severity-ranked report across multiple languages and frameworks.
- ▌ test-smell-detection · dotnet bundleAudits test code in any language using the academic testsmells.org 19-smell catalog, producing a severity-ranked report with specific locations and actionable fixes.
- ▌ writing-mstest-tests · dotnetWrite, create, modernize, or fix comprehensive MSTest unit tests with MSTest 3.x/4.x APIs, covering assertions, data-driven tests, lifecycle, and async patterns.
- ▌ find-untested-sources · dotnet bundleParse source files to find which ones have no test file referencing their declared types, producing a prioritized worklist of untested files.
- ▌ code-testing-extensions · dotnet bundleProvides file paths to language-specific extension files for the code-testing pipeline, enabling discovery of guidance for .NET, Python, TypeScript, and other languages.
- ▌ test-analysis-extensions · dotnet bundleProvides file paths to language-specific reference files for polyglot test analysis skills, enabling framework-aware detection of test markers, assertions, and patterns across .NET, Python, TypeScript, Java, Go, Ruby, Rust, Swift, Kotlin, PowerShell, and C++.
- ▌ migrate-static-to-wrapper · dotnetMechanically replace static dependency call sites with wrapper or built-in abstraction calls across a bounded scope, such as migrating DateTime.UtcNow to TimeProvider.GetUtcNow() or File.ReadAllText to IFileSystem.
- ▌ detect-static-dependencies · dotnetScan C# source files for hard-to-test static dependencies and produce a ranked report of static call sites by frequency.
- ▌ generate-testability-wrappers · dotnetGenerate wrapper interfaces, default implementations, and DI registration code to make hard-to-test static dependencies in C# testable, using built-in abstractions like TimeProvider or custom wrappers.