netbeans 上的 phpunit 代码覆盖找不到其日志

问题描述 投票:0回答:1

我正在尝试使用 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!
- 是的,它看起来在哪里?它在哪里期望它?我该怎么办?谁能告诉我更多吗?

php netbeans phpunit code-coverage
1个回答
0
投票

在 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

    参见:https://xdebug.org/docs/code_coverage#mode

© www.soinside.com 2019 - 2024. All rights reserved.