PHPunit один нормально / не удалось результат - PullRequest
0 голосов
/ 04 октября 2019

Я хочу запустить набор PHPUnits и сделать их результаты "централизованными" как простые "ok" или "fail".

Сейчас кажется, что PHPUnits отображает длинный список вещей - и это хорошоразработка или тестирование вещей вручную, но поскольку я хочу интегрировать PhPunit с другими инструментами, и мне нужен простой ответ «хорошо» / «не удалось».

Возможно ли это?

Ответы [ 2 ]

3 голосов
/ 04 октября 2019

Да. Если вы запускаете PHPUnit из командной строки, то скрипт возвращает 0 в оболочку, если все тесты верны, но другое значение, если есть какая-либо ошибка. Вы можете использовать несколько похожих:

./vendor/bin/phpunit -c phpunit.xml > /dev/null && echo ok || echo failed

> /dev/null - переслать вывод phpunit в / dev / null - мне это не интересно
&& echo ok - вывести ok на стандартный вывод, когда всеверный тест
|| echo failed - вывести failed на стандартный вывод, если какой-либо тест не пройден

2 голосов
/ 04 октября 2019

Вы можете написать свой собственный класс ResultPrinter, который расширяет PHPUnit\TextUI\ResultPrinter и заставить его печатать все, что вам нужно, и ничего более. Затем в вашем файле phpunit.xml вы указываете на него атрибутом printerClass тега <phpunit>.

Здесь - это хороший простой пример того, как может выглядеть класс такого принтера.

Кстати, если вы ищете инструмент, который объединяет больше инструментов, таких как phpunit, phpstan, phpcs и т. Д., И запускает их все с помощью одной команды, вы можете взглянуть на GrumPHP .

...