仅生成刚刚测试过的内容

Eds*_*ior 8 php phpunit zend-framework2

每次我运行一个类或整个文件夹的单元测试时,phpunit会为整个系统生成覆盖,因为它是在phpunit.xml中配置的.
这很糟糕,因为它需要更长的时间并耗尽PHP的内存.

我的phpunit.xml

<!-- http://www.phpunit.de/manual/current/en/appendixes.configuration.html -->
<phpunit
    backupGlobals               = "false"
    backupStaticAttributes      = "false"
    colors                      = "true"
    convertErrorsToExceptions   = "true"
    convertNoticesToExceptions  = "true"
    convertWarningsToExceptions = "true"
    processIsolation            = "false"
    stopOnFailure               = "false"
    syntaxCheck                 = "false"
    bootstrap                   = "Bootstrap.php" >

    <testsuites>
        <testsuite name="Application Module Suite Test">
            <directory>./Module1Test</directory>
            <directory>./Module2Test</directory>
            <directory>./Module3Test</directory>
        </testsuite>
    </testsuites>

    <filter>
        <whitelist>
            <directory>../module/Module1</directory>
            <directory>../module/Module2</directory>
            <directory>../module/Module3</directory>
        </whitelist>
    </filter>

</phpunit>
Run Code Online (Sandbox Code Playgroud)

有没有一种方法来生成的唯一的东西我测试现在,覆盖动态

示例
对于下面的命令,我想Controller/ExampleController.php仅为路径生成coverage .

phpunit Controller/ExampleController.php --coverage-html ~/Desktop/tests
Run Code Online (Sandbox Code Playgroud)

我正在使用PHPUnit 4.8和3.7,Sublime Text Editor,应用程序正在使用Zend Framework 2.

小智 0

添加processUncoveredFilesFromWhitelist参数,Truehttps://phpunit.de/manual/current/en/appendixes.configuration.html#appendixes.configuration.whitelisting-files

<filter>
    <whitelist processUncoveredFilesFromWhitelist="true">
        <directory>../module/Module1</directory>
        <directory>../module/Module2</directory>
        <directory>../module/Module3</directory>
    </whitelist>
</filter>
Run Code Online (Sandbox Code Playgroud)

  • 如果我将 phpunit 运行到 Module1 的特定控制器,覆盖范围仍然会为所有 3 个模块生成。 (2认同)
  • 这可能会起作用,但我想要一个动态解决方案,这样我就不需要不断地更改 phpunit.xml 。 (2认同)