А ещё в прошлом году у JetBrains Research вышла определялка говнокода в python-тестах. Работает для
Unittest & Pytest. Версия 1.0.0 вышла в декабре'21.Виды test smell, которые выделяют авторы:
- Assertion Roulette
- Conditional Test Logic
- Constructor Initialization
- Default Test
- Duplicate Assert
- Empty Test
- Exception Handling
- Lack of Cohesion of Test Cases
- Magic Number Test
- Obscure In-Line Setup
- Redundant Assertion
- Redundant Print
- Sleepy Test
- Suboptimal Assert
- Test Maverick
Использовать можно в виде плагина к Pycharm.
Код: https://github.com/jetbrains-research/pynose
Подробности в статье: https://arxiv.org/abs/2108.04639. Единственное, она описывает предыдущую версию, которая в ветке
ASE2021.Upd. Уточняем как использовать:
1. берете сборку плагина отсюда (.zip)
2. ставите по инструкции
3. берете тесты, можно вот эти или свои какие-нибудь ;)
4. ...
5. profit, в IDE появляются подсказки, как показано на гифках