PHPUnit使用前缀测试文件

时间:2012-08-29 09:18:55

标签: php unit-testing testing phpunit

我需要测试一系列子文件夹中的所有类。但是,在完成大量重构之前,我不想测试这些子文件夹中的其他文件。

我要测试的文件都以class.开头,例如class.apis.phpclass.something.php

因此,为了运行我的测试,我有PHPUnit的配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="true" backupStaticAttributes="true" colors="true"
    convertErrorsToExceptions="true"
    convertNoticesToExceptions="true" convertWarningsToExceptions="true"
    processIsolation="false"
    stopOnFailure="false" syntaxCheck="true" verbose="true"
    strict="true">
    <php>
        <includePath>../</includePath>
    </php>

    <testsuites>
        <testsuite name="MSBO Test Suite">
            <directory>PHPUnit</directory>
        </testsuite>
    </testsuites>

    <filter>
        <whitelist addUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">../classes/</directory>
            <directory suffix=".php">../modules/</directory>
            <exclude>
                <directory>../classes/external/</directory>
            </exclude>
        </whitelist>
    </filter>
</phpunit>

但我找不到任何关于如何在白名单中添加前缀的内容。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

我们使用不同的扩展名而不是前缀,所以我们有:

<directory suffix=".class">lib/UTIL</directory>

您可以在文件名过滤器中使用通配符,但我还没有尝试过。

<file>lib/UTIL/AJAX*.class</file>

答案 1 :(得分:0)

相当旧的线程,但只是为了补充先前的响应。此功能是为PHPUnit 6.5.10添加的。您可以在以下位置查看相关更新:

也可以在phpunit >v7.2上使用(已在v7.5.17上进行测试并且运行良好)。不确定是在哪个特定版本上添加的。