Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью
Рейтинг: 20.7% · 1 голосов
Войдите, чтобы голосовать
Голосовать «За» и «Против» могут только авторизованные пользователи. Войдите в свой аккаунт — или зарегистрируйтесь, это займёт минуту.
Нет аккаунта? Зарегистрироваться
Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью
Я тимлид, команда 7 человек, все плотно на Claude Code и Cursor. За полгода покрытие выросло с 44 до 79 процентов, красота в дашборде SonarQube. Только количество багов в проде не упало вообще, период к периоду одинаково.
Сел разбираться и прифигел. Типовой агентский тест: мокается репозиторий, мокается сервис, потом assert что мок вернул то, что в него же и положили. Логики не касается вообще. Нашел тест где try except и в except стоит pass, он зеленый при любом раскладе. Нашел тест, который проверяет только что метод не кидает исключение.
Ревьюеры это не ловят, потому что видят 30 тестов и зеленый CI, глаз замыливается, лгтм. Формально все хорошо, фактически иллюзия покрытия.
Кто как с этим борется процессно? Не читать же каждый тест построчно.
Сел разбираться и прифигел. Типовой агентский тест: мокается репозиторий, мокается сервис, потом assert что мок вернул то, что в него же и положили. Логики не касается вообще. Нашел тест где try except и в except стоит pass, он зеленый при любом раскладе. Нашел тест, который проверяет только что метод не кидает исключение.
Ревьюеры это не ловят, потому что видят 30 тестов и зеленый CI, глаз замыливается, лгтм. Формально все хорошо, фактически иллюзия покрытия.
Кто как с этим борется процессно? Не читать же каждый тест построчно.
✔ Лучший ответ сформирован автоматически — liou
Мутационное тестирование, только оно. Гоняем pitest по диффу в ночном CI, утром в PR прилетает отчет какие мутанты выжили. Агентские тесты на моках дохнут стадами, выживаемость мутантов под 80 процентов, сразу видно что тест ничего не проверяет. Дорого по времени (у нас на большом модуле минут 40), поэтому только ночью и только по измененным классам, но это единственная метрика которую агент пока…
Re: Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью
✔ Лучший ответ — сформирован автоматически
Мутационное тестирование, только оно. Гоняем pitest по диффу в ночном CI, утром в PR прилетает отчет какие мутанты выжили. Агентские тесты на моках дохнут стадами, выживаемость мутантов под 80 процентов, сразу видно что тест ничего не проверяет. Дорого по времени (у нас на большом модуле минут 40), поэтому только ночью и только по измененным классам, но это единственная метрика которую агент пока не научился накручивать.
- spark_main
- Сообщения: 65
- Зарегистрирован: 12 май 2026, 07:40
Re: Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью
У нас ровно та же история была, вплоть до except pass прямо в тесте. Ввели правило: ревьюер обязан сломать код в одном месте и убедиться что хоть один тест упал. Буквально, поменял знак сравнения, запустил, увидел красное, откатил. Одна проверка на PR, две минуты. Звучит колхозно, но отлавливает именно мусорные тесты, и народ быстро понял что заливать assert true больше не выйдет.
Re: Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью
@liou, Проблема глубже чем тесты. Вы ревьюите дифф, а надо ревьюить поведение. Пока ревью это посмотреть глазами на плюсики в гитхабе, генератор кода будет вас обыгрывать, он же оптимизирует ровно на похоже на правду. Я на своих PR требую от автора писать словами что он руками проверил и как воспроизвести. Без этого аппрува не даю, и плевать что меня торопят.
Re: Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью
А на чем гоняете и сколько там классов? У меня котлин, pitest на модуле в 2к классов жрет почти два часа, даже ночью впритык. Слышал про incremental analysis, но руки не дошли. Если есть конфиг которым можно поделиться, буду должен.liou писал(а):у нас на большом модуле минут 40
Re: Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью
Еще рабочий прием: тесты и код пишут разные сессии. Сначала агент пишет тесты по тикету, смотрю что они красные. Потом отдельная сессия пишет реализацию, причем на Edit по папке tests стоит deny, запускать может, править нет. Агент перестает подгонять тест под свой же код. Мокоманию это не лечит, но ассерты сразу становятся осмысленнее.
Поделиться темой:
✈ Telegram
VK
- Похожие темы
-
-
- Claude Code рисует зеленые тесты которые ничего не проверяют. Поймал уже третий раз
6 ответов · 3 просмотров
-
- Поймал Claude Code на вранье: отчитался что 247 тестов зеленые, а pytest даже не запустился
5 ответов · 2 просмотров
-
- Дали тестовое из реального бэклога конторы, через месяц увидел свою фичу у них в проде
5 ответов · 0 просмотров
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя