phpunit 测试中的 echo

2022-08-30 22:15:11

我一直试图在我的phpunit测试中填充,但到目前为止没有运气。echo

我阅读了有关xml配置文件的文档,显然参数就是我正在寻找的。不幸的是,它仍然不起作用。无论如何,这是我的xml配置文件:debug

<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true"
         processIsolation="true"
         verbose="true"
         debug="true">
</phpunit> 

两者都被接受,但不是。processIsolationverbosedebug

当我直接将其传递给phpunit时,该命令实际上工作得很好,如下所示:

phpunit --debug MyTest.php # here stuff is echoed correctly

但是对于xml配置文件,它看起来被忽略了。


答案 1

当前版本的PHPUnit(以及所有版本)将只打印测试用例中的所有内容。>3.6.43.5.*echo

<?php

class OutputTestCase extends PHPUnit_Framework_TestCase {

    public function testEcho() {
        echo "Hi";
    }   
}

生产:

phpunit foo.php 
PHPUnit 3.6.7 by Sebastian Bergmann.

.Hi

Time: 0 seconds, Memory: 3.25Mb

OK (1 test, 0 assertions)

因此,如果您使用的是旧版本,只需升级:)3.6


答案 2

确保不要调用 exit() 或 kill()。PHPUnit 缓冲 echo 语句,如果您的脚本在测试期间退出,则该缓冲区将丢失且没有输出。


推荐