我正在尝试使用 phpunit 11 在 netbeans 中运行代码覆盖率。我的测试正在运行,但我不断得到以下输出:
Full output can be found in Output window.
Coverage log not found!
Perhaps you need to add "whitelist" to your XML configuration?
我生成的xml只是一个空的phpunit标签,并且从我发现的稀疏信息中(https://docs.phpunit.de/en/11.1/configuration.html中的文档甚至没有“白名单”一词)试图把这个搞砸:
<?xml version="1.0"?>
<phpunit colors="false" bootstrap="/../bootstrap.php">
<source>
<include>
<directory suffix=".php">_src/</directory>
</include>
<exclude>
<directory suffix=".php">vendor/</directory>
</exclude>
</source>
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory suffix=".php">_src/</directory>
</whitelist>
</filter>
<coverage>
<report>
<clover outputFile="clover.xml"/>
<cobertura outputFile="cobertura.xml"/>
<crap4j outputFile="crap4j.xml" threshold="50"/>
<html outputDirectory="html-coverage" lowUpperBound="50" highLowerBound="90"/>
<php outputFile="coverage.php"/>
<text outputFile="coverage.txt" showUncoveredFiles="false" showOnlySummary="true"/>
<xml outputDirectory="xml-coverage"/>
</report>
</coverage>
</phpunit>
仍然没有任何好处。
Coverage log not found!
- 是的,它看起来在哪里?它在哪里期望它?我该怎么办?谁能告诉我更多吗?
在 netbeans(版本 23)中,转到菜单“窗口”>“输出”。它说什么?类似的东西?
XDEBUG_MODE=coverage (environment variable) or xdebug.mode=coverage (PHP configuration setting) has to be set ?
如果是这种情况,只需按照输出的建议进行操作就足够了。你可能想要
通过设置环境变量来启动netbeans。像这样:
XDEBUG_MODE=coverage netbeans
或更新您的 php 配置(
php.ini
在系统上的任何合适位置)以拥有 xdebug.mode=coverage
。如果您已经有 xdebug.mode=debug
,您可以为其添加覆盖范围,如下所示
xdebug.mode=debug,coverage
。