как нам указать —testdox в phpunit.xml а не как параметр командной строки?

#php #phpunit

#php #phpunit

Вопрос:

Вывод, который вы получаете из phpunit при указании --testdox , красивее и информативнее, чем точки по умолчанию, поэтому я хотел бы видеть его таким постоянно. Но я не смог придумать способ выразить свое желание для вывода testdox в phpunit.xml файл, если только он не перенаправлен на файл. Я хочу сразу увидеть это на консоли.

Есть идеи?

Комментарии:

1. Это (пока) невозможно настроить в phpunit.xml .

2. Я бы сказал, что это можно считать ответом 🙂 Спасибо.

3. Я думаю, вы вдохновили его! Я с нетерпением ждал этого более 10 лет, и это было сделано менее чем через 36 часов после того, как вы задали этот вопрос!

Ответ №1:

Начиная с PHPUnit 8.1, теперь это возможно.

Вам нужно сделать это:

composer require --dev phpunit/phpunit:'^8.1'

а затем добавьте testdox="true" в качестве атрибута вашего <phpunit> тега.

Смотрите мою реализацию:https://github.com/phpexpertsinc/skeleton/commit/0cacc1f4050363a9f15d9e5ba4b788929e7a3a92

Комментарии:

1. Правильное имя атрибута — testdox в отличие от textdox . Но да, это работало на phpunit 8.5

2. Исправлено. Спасибо!

Ответ №2:

Это (пока) невозможно настроить в phpunit.xml . Это должно быть возможно в PHPUnit 8.1.

Комментарии:

1. Это реализовано сейчас: github.com/sebastianbergmann/phpunit/commit /…

2. похоже, мы все еще ждем, когда zendframework / zend-test поддержит PHPUnit 8, что меня особенно интересует, поскольку я работаю с ZF3. так что пока я сглаживаю свою команду phpunit с помощью bash.

3. Ура! Большое вам спасибо, @SebastianBergmann! Я ждал эту функцию с момента запуска PHPUnit 3 дня! Я уже внедрил это во всех своих проектах. github.com/phpexpertsinc/skeleton/commit /…

Ответ №3:

Если у вас все еще версия PHPUnit ниже (<), чем 8.1, тогда добавьте строку ниже к вашему <phpunit ... > узлу в вашем phpunit.xml

 <phpunit
    printerClass="PHPUnitUtilTestDoxCliTestDoxPrinter"
    ...
</phpunit>