test-smell-detection

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

1|Updated Jul 27, 2026
One-click install
npx skills add https://github.com/FittyAr/Cardscape --skill test-smell-detection-fittyar
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: test-smell-detection
Source: https://github.com/FittyAr/Cardscape/tree/main/.agents/skills/test-smell-detection
Command: npx skills add https://github.com/FittyAr/Cardscape --skill test-smell-detection-fittyar

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Test suites accumulate design flaws — conditional logic, sleeps, missing assertions, external dependencies — that make tests fragile, slow, and falsely reassuring. 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, exact locations, and concrete fixes. ## Core Features & Use Cases - Polyglot smell detection: Analyzes tests in .NET (MSTest/xUnit/NUnit/TUnit), Python (pytest/unittest), JS/TS (Jest/Vitest/Mocha), Java, Go, Ruby, Rust, Swift, Kotlin, PowerShell (Pester), and C++ (GoogleTest/Catch2). - Research-backed taxonomy: Maps every finding to a named smell from the literature (Assertion Roulette, Mystery Guest, Sleepy Test, Eager Test, Sensitive Equality, Magic Number Test, and more) with severity levels. - Calibration against false positives: Recognizes idiomatic patterns such as Go table-driven tests, pytest parametrize, mock verifications, and integration-test markers so legitimate code is not flagged. - Use Case: Point the Skill at a flaky test project and receive a dashboard of high/medium/low severity findings, code snippets showing each smell, remediation examples, and a prioritized fix plan. ## Quick Start Audit the tests in my project's test directory using the full academic test smell 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 test project directory and request a formal smell audit. The analysis checks each test method against the academic catalog — conditional logic, mystery guests, sleepy tests, assertion-free tests, and more — then reports findings with severity, locations, and fixes.

What test frameworks does test smell detection support?▼

It supports MSTest, xUnit, NUnit, TUnit, pytest, unittest, Jest, Vitest, Mocha, JUnit, TestNG, Go testing, RSpec, Minitest, Rust, Swift XCTest, Kotest, Pester, GoogleTest, and Catch2. Language-specific extension files define each framework's markers and assertion APIs.

What is the difference between test smells and test anti-patterns?▼

Test smells here refer to the formal testsmells.org academic catalog with 19 named, citable smell types from research literature. Use this formal audit when you need rigor and citations; use a pragmatic anti-pattern review for faster, less formal feedback.

Does the audit flag table-driven or parametrized tests as smells?▼

No. Go table-driven loops, pytest parametrize, Jest test.each, xUnit Theory with InlineData, JUnit ParameterizedTest, and similar idioms are explicitly calibrated as canonical patterns and are not flagged as Conditional Test Logic or Duplicate Assert.

When should I not use a formal test smell audit?▼

Avoid it for quick pragmatic reviews, writing new tests, running tests, framework migration, or fixing a single failing test. It is designed for deep, comprehensive audits where academic rigor and citable smell names are required.