
Test Smell Detection
If you need a citable, research-grounded audit of test code, this one maps every finding to a named smell from the testsmells.org 19-smell catalog, things like Assertion Roulette, Mystery Guest, Eager Test, and Sleepy Test, with a severity ranking behind each. It covers a wide spread of ecosystems (.NET, Python, JS/TS, Java, Go, Ruby, Rust, Swift, Kotlin, PowerShell, C++), and the calibration rules are thoughtful: it won't flag parametrized tests as Conditional Test Logic or call a deliberate integration test a smell just for touching real resources. The flip side is that it's deliberately narrow. For a quick pragmatic review, the test-anti-patterns skill is the better fit, and it won't write or run tests for you. Reach for this one when a reviewer or paper needs formal smell names rather than general advice.
- skills.sh installs
- 4.1K
- GitHub stars
- 5.9K
- last updated
- Aug 1, 2026
Install
$ npx -y skills add dotnet/skills --skill test-smell-detection --agent claude-codeInstalls into .claude/skills of the current project.
Files
Test Smell Detection
Deep formal audit of test code in any supported language using an academic test smell taxonomy. Detects symptoms of bad design or implementation decisions that make tests harder to understand, more fragile, less effective at catching bugs, or more expensive to maintain. Produces a severity-ranked report with specific locations and actionable fixes.
Language-specific guidance: Call the
test-analysis-extensionsskill to discover available extension files, then read the file matching the target codebase. The extension file documents test markers, sleep / time / random APIs, skip annotations, setup/teardown, mystery-guest indicators (file/database/network/env), integration markers, and language-specific calibration notes that drive the smell detectors below.
Why Test Smells Matter
Test smells erode confidence in a test suite and inflate maintenance costs:
Sponsors
Details
- Repository
- github.com/dotnet/skills
- Categories
- Testing & QA, Documentation, AI & Agent Building, Data Science & ML, Python, Rust, Mobile Development, Java & JVM, .NET & C#
- License
- MIT
- First seen
- Aug 2, 2026
More from dotnet/skills
All 102- Mtp Hot Reload4.1K
- Clr Activation Debugging4.1K
- Including Generated Files4.1K
- Migrate Dotnet8 To Dotnet94.1K
- Nuget Trusted Publishing4.1K
- Resolve Project References4.1K
- Generate Testability Wrappers4K
- Create Skill Test4K
- Maui App Lifecycle4K
- Thread Abort Migration4K
- Create Custom Agent4K
- Template Discovery4K
- Template Instantiation4K
- Migrate Static To Wrapper4K
- Migrate Xunit To Xunit V34K
- Test Tagging4K
- Android Tombstone Symbolication4K
- Migrate Vstest To Mtp3.9K
- Template Authoring3.9K
- Migrate Mstest V3 To V43.9K
- Migrate Mstest V1v2 To V33.9K
- Maui Dependency Injection3.9K
- Maui Data Binding3.9K
- Maui Theming3.9K