Как экспортировать неудачные тесты в PHPunit из-за синтаксических ошибок или фатальных ошибок? - PullRequest
1 голос
/ 23 июля 2010

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

<phpunit verbose="true" colors="true" stopOnFailure="false" syntaxCheck="true">
    <logging>
    <log type="tap" target="results/results.tap"/>
    <log type="testdox-text" target="results/results.txt" />
        <log type="junit" target="results/results.junit" logIncompleteSkipped="true"/>
        <log type="json" target="results/results.js"/>
        <log type="coverage-html" target="results/report" charset="UTF-8"
           yui="false" highlight="false"
           lowUpperBound="35" highLowerBound="70"/>
    </logging>
</phpunit>

1 Ответ

0 голосов
/ 27 июля 2010

Поскольку phpunit (или, скорее, ваши тесты) выполняются с фатальной ошибкой, интерпретатор php не может сделать больше, чем просто умереть, поэтому регистрация через phpunit кажется довольно сложной.

Возможно, выполнение каждого теста как отдельного процесса (с помощью параметра --process-изоляция или установки processIsolation = "true") может вам немного помочь. Но это замедляет ваш Testsuite и так далее.

Так что в качестве быстрого решения вы можете поместить вывод ошибок php в лог-файл (если включен display_errors).

phpunit yourTests 2> errors.log

Возможно, используйте другой php.ini для ваших тестов и предоставьте там лог-файл или просто передайте его php через

echo "" > error.log && phpunit -d error_log=error.log yourTests

так что у вас есть хотя бы файл с ошибками для проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...