在 PHPUnit 测试执行期间隐藏输出

Hide output during PHPUnit test execution

我的 php 代码中有一些 var_dumps(我知道最后必须有 none,但仍然),而测试是 运行他们向控制台输出不必要的信息,有没有忽略某些代码执行的方法?

我试过了

/**
 * @codeCoverageIgnore
 */

// @codeCoverageIgnoreStart
print '*';
// @codeCoverageIgnoreEnd

但这只是忽略了覆盖,仍然执行代码。

您可以将setOutputCallback 设置为不执行任何操作。效果是抑制测试中或测试中打印的任何输出 class.

例如:

namespace Acme\DemoBundle\Tests;


class NoOutputTest extends \PHPUnit_Framework_TestCase {

    public function testSuppressedOutput()
    {
        // Suppress  output to console
        $this->setOutputCallback(function() {});
        print '*';
        $this->assertFalse(false, "Don't see the *");
    }

}

您可以在 doc

中找到一些参考

希望对您有所帮助