phpunit --debug仍然只显示点

时间:2013-06-12 13:38:43

标签: php symfony phpunit

我想看看在phpunit运行期间当前执行了哪个测试。

我使用--debug参数但仍然只得到点:

$ phpunit --debug 
PHPUnit 3.7.19 by Sebastian Bergmann.

Configuration read from /home/foo/bar/phpunit.xml

..S.......I..

phpunit.xml的内容:

<phpunit backupGlobals="true"
     bootstrap="tests/bootstrap.php"
     backupStaticAttributes="false"
     cacheTokens="false"
     colors="true"
     convertErrorsToExceptions="true"
     convertNoticesToExceptions="true"
     convertWarningsToExceptions="true"
     forceCoversAnnotation="false"
     mapTestClassNameToCoveredClassName="false"
     printerClass="PHPUnit_TextUI_ResultPrinter"
     processIsolation="false"
     stopOnError="false"
     stopOnFailure="false"
     stopOnIncomplete="false"
     stopOnSkipped="false"
     testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader"
     strict="false"
     verbose="true">
    <testsuites>
    <testsuite name="foo Tests">
        <directory>./tests</directory>
    </testsuite>
    </testsuites>
    <filter>
    <whitelist addUncoveredFilesFromWhitelist="true">
        <directory suffix=".php">./src</directory>
    </whitelist>
    </filter>
    <logging>
    <log type="coverage-clover" target="./clover.xml"/>
    </logging>
</phpunit>

这可能是什么原因?

4 个答案:

答案 0 :(得分:38)

您想要使用--testdox

  

phpunit --testdox

答案 1 :(得分:22)

(回答“如何查看当前正在运行的测试”的问题)

正如你所注意的那样--debug和--verbose没什么帮助。 (我大部分时间都使用--verbose,但因为它在出现问题时会告诉我更多信息,其余时间并不是非常冗长。)

这是我的第一次尝试:

phpunit --verbose --tap

我在一个测试套件上尝试过,测试套件有一些慢速测试。它工作得很漂亮,直到测试21,然后没有,然后几分钟后测试22到598一次出现。我怀疑输出缓冲。这是一个没有这个问题的变体,但需要打开两个终端窗口:

phpunit --verbose --log-tap tap.log

然后在另一个窗口中:

tail -f tap.log

实际上它并没有准确告诉你你想要什么,因为它只报告 正在处理的功能。所以,当你得到延迟时,你必须等待测试结束才能发现哪个是慢速测试。

要获得更多控制权,请考虑writing your own test listener

答案 2 :(得分:11)

我遇到了同样的问题并通过删除解决了这个问题:

printerClass="PHPUnit_TextUI_ResultPrinter"

来自phpunit.xml配置文件中基本标记的选项。

答案 3 :(得分:3)

我发现最好的解决方案是将日志记录部分添加到phpunit.xml文件中

<logging>
    <log type="testdox-text" target="php://stdout"/>
</logging>