test-smell-detection

Detects academic test smells in test code across multiple languages and frameworks.

Updated Aug 9, 2026
One-click install
npx skills add https://github.com/adinj00/player-performance --skill test-smell-detection-adinj00
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: test-smell-detection
Source: https://github.com/adinj00/player-performance/tree/main/.agents/skills/test-smell-detection
Command: npx skills add https://github.com/adinj00/player-performance --skill test-smell-detection-adinj00

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Test suites accumulate design flaws like conditional logic, external resource dependencies, and missing assertions that make tests fragile, slow, and misleading. This Skill performs a formal audit of test code using the testsmells.org 19-smell academic catalog, producing a severity-ranked report with citable smell names and concrete fixes. ## Core Features & Use Cases - Polyglot Smell Detection: Analyzes tests in .NET (MSTest/xUnit/NUnit/TUnit), Python (pytest/unittest), TS/JS (Jest/Vitest/Mocha), Java (JUnit/TestNG), Go, Ruby, Rust, Swift, Kotlin, PowerShell (Pester), and C++ (GoogleTest/Catch2). - Research-Backed Taxonomy: Maps every finding to a named smell from the academic literature (Assertion Roulette, Mystery Guest, Sleepy Test, Eager Test, Sensitive Equality, and more) with calibrated severity levels. - False-Positive Calibration: Applies language-specific rules so idiomatic patterns like Go table-driven tests, pytest parametrize, and mock verifications are not misflagged. - Use Case: Point the Skill at a test project directory and receive a summary dashboard, per-smell findings with code snippets and fixes, and a prioritized remediation plan. ## Quick Start Audit the tests in my project directory using the full testsmells.org 19-smell academic catalog and give me a severity-ranked report with fixes.

Frequently Asked Questions about test-smell-detection

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect test smells in my test suite?

Provide the test files or project directory and request a formal audit using the testsmells.org 19-smell catalog. The analysis scans each test method for smells like Conditional Test Logic, Mystery Guest, and Assertion-Free tests, then reports findings ranked by severity with concrete fixes.

What test frameworks are supported for test smell detection?

Supported frameworks include MSTest, xUnit, NUnit, and TUnit for .NET; pytest and unittest for Python; Jest, Vitest, and Mocha for JS/TS; JUnit and TestNG for Java; plus Go, RSpec, Rust, Swift, Kotest, Pester, GoogleTest, and Catch2.

Does test smell detection flag Go table-driven tests as conditional logic?

No. Go table-driven loops like 'for _, tt := range tests { t.Run(...) }' are recognized as idiomatic and explicitly excluded from Conditional Test Logic findings. The same applies to pytest parametrize, Jest .each, JUnit @ParameterizedTest, and Catch2 SECTIONs.

When should I use test smell detection versus a quick test review?

Use this formal audit only when you need the academic 19-smell catalog with citable smell names and research-backed severity. For general pragmatic test reviews, a lighter anti-pattern check is faster and covers the most common issues.

Why are integration tests treated differently in smell detection?

Integration tests legitimately use external resources, call multiple production methods, and may need delays for async coordination. The analysis detects integration markers and downgrades Mystery Guest, Eager Test, and Sleepy Test severity for those tests instead of flagging them as problems.