t.me/atinfo_chat Telegram группа по автоматизации тестирования

Распараллеливание тестов PHP Unit с помощью ParaTest

Теги: #<Tag:0x00007f74885f7630> #<Tag:0x00007f74885f7478> #<Tag:0x00007f74885f7248> #<Tag:0x00007f74885f7068>

Как вы проводили распараллеливание PHP Unit тестов. Решили использовать ParaTest, но там не всё гладко - пока никак не получается исправить ошибку

[RuntimeException]
Log file /tmp/ is empty. This means a PHPUnit process has crashed.

Буду благодарна советам! :slight_smile:

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

Или как альтернативный вариант, посмотрите в сторону этого проекта https://github.com/jwage/phpchunkit
Может он вам подойдет больше

Какой командой вы запускаете тесты? Стандартная paratest команда или что-то модифицированное? Распарелливаете по тест-методам или тест кейсам?

На одном из проектов как вариант для параллельного запуска использовали вот такой подход: