Модульные тесты laravel завершаются неудачей с Symfony\Component\Process\Exception\ProcessSignaledException 11

Пытаюсь выяснить, что сломало мою среду разработки. На моем MacBook все работало хорошо, а потом я что-то обновил, и теперь большинство моих тестовых файлов PHPUnit выдают эту ошибку:

Symfony\Component\Process\Exception\ProcessSignaledException
The process has been signaled with signal "11".

Вот подробности моей среды:

Host Environment
   Hardware: MacBook Pro with Apple M3 Pro Chip
   Operating System: macOS Sonoma 14.5
   Docker Desktop: 4.31.0 Engine 26.1.4
Docker Environment
   OS: Ubuntu 22.04.4 LTS
   PHP Version: 8.3.8
   Composer: 2.7.6
   Laravel Framework: 11.4.0
   Laravel Sail: 1.29.1
   PHPUnit: 11.2
   Symfony: ^7.0

Вот что я пробовал до сих пор:

  • обновлен композитор и перестроен файл композитора.lock
  • обрезаны образы докеров и принудительно перестроены докер-контейнеры с помощью команды паруса
  • запускал команды artisan для очистки, миграции и повторного заполнения базы данных, а также очистки кеша

Symfony выдает ошибку для сложных тестов PHPUnit (например, тех, которым нужно дождаться ответа http) или для некоторых файлов, содержащих несколько простых тестов PHPUnit. В некоторых случаях я могу использовать команду --filter для индивидуального выполнения простых тестов PHPUnit, находящихся в файле. Но когда я использую команду --filter для выбора всего файла, я получаю ошибку symfony для некоторых файлов. Одни и те же файлы и отдельные тесты постоянно терпят неудачу, но я еще не определил, что является причиной сбоев. Может ли это быть проблемой с постановкой в ​​очередь команд PHPUnit?

Одна вещь, которую вы можете попробовать (поскольку вы не выразились явно), — это удалить папку vendor и попробовать установить ее снова. Еще один вопрос, который может добавить больше информации: происходит ли это случайным образом в небольших тестах или это 100% сбой? Вы должны уметь бегать php artisan test -vvv, но я не уверен, насколько это будет полезно.

matiaslauriti 09.06.2024 18:57
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
1
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я откатил изменения кода до предыдущего коммита, чтобы проверить, были ли изменения в моей среде ошибочными или виновато что-то, что я вставил в свой код. Мой предыдущий код работал нормально, несмотря на различные изменения среды, так что это должно быть что-то в моем коде. Я проанализировал коммиты и обнаружил, что в моем файле config/auth.php я случайно изменил имена одного из моих охранников аутентификации. Исправление имени аутентификатора устранило все ошибки сигналов процесса.

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

Другие вопросы по теме