临时重定向PHP error_log目标(STDERR)

时间:2019-11-22 14:19:43

标签: php unit-testing stderr filehandle

我正在使用PHPUnit在内部调用error_log的类上运行单元测试(message_type为0,因此它是该PHP环境的“标准”错误输出)。在命令行上运行测试时,error_log的输出将中断PHPUnit输出,因为在命令行环境中,error_log的输出为STDERR。是否可以在测试代码中仅一次调用就将输出捕获或重定向到STDERR?用伪代码:

function testSomethingHappens() {

    // TODO redirect STDERR
    $result = (new MyClass())->doSomething();
    // TODO restore STDERR

    $this->assertSame( 'OK', $result );
}

0 个答案:

没有答案