在phpunit.xml文件中指定--testdox选项,而不是作为命令行选项,可以通过添加printerClass
属性来实现。
以下是一个示例的phpunit.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/8.1/phpunit.xsd"
backupGlobals="false"
colors="true"
bootstrap="tests/bootstrap.php">
<testsuites>
<testsuite name="My Test Suite">
<directory>./tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./src</directory>
</whitelist>
</filter>
<logging>
<log type="coverage-html" target="./build/coverage" charset="UTF-8" highlight="true"
lowUpperBound="35" highLowerBound="70"/>
</logging>
<php>
<ini name="error_reporting" value="-1" />
<env name="APP_ENV" value="testing" />
<env name="CACHE_DRIVER" value="array" />
<env name="SESSION_DRIVER" value="array" />
<env name="QUEUE_CONNECTION" value="sync" />
</php>
<listeners>
<listener class="PHPUnit\TextUI\ResultPrinter" file="./vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php">
<arguments>
<object class="PHPUnit\Util\Log\Junit" file="./vendor/phpunit/phpunit/src/Util/Log/Junit.php">
<arguments>
<string>./build/logs/junit.xml</string>
<boolean>false</boolean>
<boolean>true</boolean>
</arguments>
</object>
</arguments>
</listener>
</listeners>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.4/phpunit.xsd"
printerClass="PHPUnit\TextUI\ResultPrinter"
printerFile="./vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php">
<testsuites>
<testsuite name="My Test Suite">
<directory>./tests</directory>
</testsuite>
</testsuites>
<logging>
<log type="testdox-text" target="./build/logs/testdox.txt" showFailureSuccess="true" />
</logging>
</phpunit>
</phpunit>
在这个示例中,我们添加了一个printerClass
属性来指定使用PHPUnit\TextUI\ResultPrinter
作为测试结果输出格式。同时,我们还添加了一个logging
部分,在其中定义了一个testdox-text
类型的日志,将测试结果输出到./build/logs/testdox.txt
文件中。
这样,在运行PHPUnit时,只需要使用phpunit命令,而不需要再在命令行中指定--testdox选项。
领取专属 10元无门槛券
手把手带您无忧上云