AromaDr: A Language-Independent Tool for Detecting Test Smells

Públio Silva, Carla Ilane Moreira Bezerra, Ivan Machado, Márcio Ribeiro · 2025

Ensuring high-quality test code is critical for the success and maintainability of software projects. Poorly designed tests, known as test smells, can undermine this goal by making test code harder to understand, maintain, and extend. Although various tools exist to detect and refactor test smells, most are tailored to specific programming languages, limiting their effectiveness in polyglot development environments. To overcome this limitation, we introduce AromaDr, a language-independent tool capable of detecting ten common test smells across multiple programming languages, including C#, Java, JavaScript, TypeScript, and Python. The smells detected by AromaDr include: Assertion Roulette, Conditional Test Logic, Duplicate Assert, Empty Test, Exception Handling, Ignored Test, Magic Number, Redundant Print, Sleepy Test, and Unknown Test. Beyond its language-independent detection capabilities, AromaDr offers several practical features: a graphical user interface for intuitive interaction, precise localization of test smells within the code, and an API that facilitates seamless integration with other development tools. To our knowledge, AromaDr currently supports the broadest range of programming languages among available test smell detection tools. In addition, AromaDr provides several features that distinguish it from other test-smell detection tools: a graphical interface (many alternatives are command-line only), the ability to pinpoint the exact line where each test smell occurs and a REST API that enables seamless integration with other tools. Video: https://zenodo.org/records/15467769

Read the paper · More papers on PaperTik