Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью

Рейтинг: 20.7% · 1 голосов
Программирование с искусственным интеллектом: Claude Code, Cursor, GitHub Copilot, agentic coding, протокол MCP, генерация и ревью кода, автоматизация рабочего процесса разработчика.
Ответить
Аватара пользователя
mstrbates
Сообщения: 88
Зарегистрирован: 11 май 2026, 00:45

Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью

Сообщение mstrbates »

Я тимлид, команда 7 человек, все плотно на Claude Code и Cursor. За полгода покрытие выросло с 44 до 79 процентов, красота в дашборде SonarQube. Только количество багов в проде не упало вообще, период к периоду одинаково.

Сел разбираться и прифигел. Типовой агентский тест: мокается репозиторий, мокается сервис, потом assert что мок вернул то, что в него же и положили. Логики не касается вообще. Нашел тест где try except и в except стоит pass, он зеленый при любом раскладе. Нашел тест, который проверяет только что метод не кидает исключение.

Ревьюеры это не ловят, потому что видят 30 тестов и зеленый CI, глаз замыливается, лгтм. Формально все хорошо, фактически иллюзия покрытия.

Кто как с этим борется процессно? Не читать же каждый тест построчно.
👍1 ❤️2 🔥1 😄1 🤔
✔ Лучший ответ сформирован автоматически — liou
Мутационное тестирование, только оно. Гоняем pitest по диффу в ночном CI, утром в PR прилетает отчет какие мутанты выжили. Агентские тесты на моках дохнут стадами, выживаемость мутантов под 80 процентов, сразу видно что тест ничего не проверяет. Дорого по времени (у нас на большом модуле минут 40), поэтому только ночью и только по измененным классам, но это единственная метрика которую агент пока…
Перейти к ответу →
Аватара пользователя
liou
Сообщения: 12
Зарегистрирован: 11 май 2026, 06:09

Re: Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью

Сообщение liou »

✔ Лучший ответ — сформирован автоматически
Мутационное тестирование, только оно. Гоняем pitest по диффу в ночном CI, утром в PR прилетает отчет какие мутанты выжили. Агентские тесты на моках дохнут стадами, выживаемость мутантов под 80 процентов, сразу видно что тест ничего не проверяет. Дорого по времени (у нас на большом модуле минут 40), поэтому только ночью и только по измененным классам, но это единственная метрика которую агент пока не научился накручивать.
👍1 ❤️1 🔥 😄 🤔
Аватара пользователя
docker13
Сообщения: 23
Зарегистрирован: 12 май 2026, 16:43

Re: Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью

Сообщение docker13 »

mstrbates писал(а):покрытие выросло с 44 до 79 процентов
что мерили, то и получили. гудхарт передает привет
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
spark_main
Сообщения: 65
Зарегистрирован: 12 май 2026, 07:40

Re: Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью

Сообщение spark_main »

У нас ровно та же история была, вплоть до except pass прямо в тесте. Ввели правило: ревьюер обязан сломать код в одном месте и убедиться что хоть один тест упал. Буквально, поменял знак сравнения, запустил, увидел красное, откатил. Одна проверка на PR, две минуты. Звучит колхозно, но отлавливает именно мусорные тесты, и народ быстро понял что заливать assert true больше не выйдет.
👍 ❤️ 🔥1 😄 🤔
Аватара пользователя
SparkMain
Сообщения: 28
Зарегистрирован: 11 май 2026, 00:57

Re: Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью

Сообщение SparkMain »

@liou, Проблема глубже чем тесты. Вы ревьюите дифф, а надо ревьюить поведение. Пока ревью это посмотреть глазами на плюсики в гитхабе, генератор кода будет вас обыгрывать, он же оптимизирует ровно на похоже на правду. Я на своих PR требую от автора писать словами что он руками проверил и как воспроизвести. Без этого аппрува не даю, и плевать что меня торопят.
👍2 ❤️1 🔥 😄 🤔
Аватара пользователя
pharside
Сообщения: 25
Зарегистрирован: 15 май 2026, 18:41

Re: Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью

Сообщение pharside »

liou писал(а):у нас на большом модуле минут 40
А на чем гоняете и сколько там классов? У меня котлин, pitest на модуле в 2к классов жрет почти два часа, даже ночью впритык. Слышал про incremental analysis, но руки не дошли. Если есть конфиг которым можно поделиться, буду должен.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
Mcstorm
Сообщения: 10
Зарегистрирован: 12 май 2026, 10:02

Re: Агентские тесты всегда зеленые: моки на моках и ни одного реального ассерта. Как ловите на ревью

Сообщение Mcstorm »

Еще рабочий прием: тесты и код пишут разные сессии. Сначала агент пишет тесты по тикету, смотрю что они красные. Потом отдельная сессия пишет реализацию, причем на Edit по папке tests стоит deny, запускать может, править нет. Агент перестает подгонять тест под свой же код. Мокоманию это не лечит, но ассерты сразу становятся осмысленнее.
👍 ❤️ 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «AI-ассистированная разработка»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя