小编Sam*_*ssy的帖子

使用PHPUnit测试PHP头文件

我正在尝试使用PHPunit来测试输出一些自定义标头的类.

问题是在我的机器上这个:

<?php

class HeadersTest extends PHPUnit_Framework_TestCase {

    public function testHeaders()
    {
        ob_start();

        header('Location: foo');
        $headers_list = headers_list();
        header_remove();

        ob_clean();

        $this->assertContains('Location: foo', $headers_list);
    }
}
Run Code Online (Sandbox Code Playgroud)

甚至这个:

<?php

class HeadersTest extends PHPUnit_Framework_TestCase {

    public function testHeaders()
    {
        ob_start();

        header('Location: foo');
        header_remove();

        ob_clean();
    }
}
Run Code Online (Sandbox Code Playgroud)

返回此错误:

name@host [~/test]# phpunit --verbose HeadersTest.php 
PHPUnit 3.6.10 by Sebastian Bergmann.

E

Time: 0 seconds, Memory: 2.25Mb

There was 1 error:

1) HeadersTest::testHeaders
Cannot modify header information - headers already sent by (output started at /usr/local/lib/php/PHPUnit/Util/Printer.php:173)

/test/HeadersTest.php:9 …
Run Code Online (Sandbox Code Playgroud)

php phpunit unit-testing output-buffering

87
推荐指数
4
解决办法
3万
查看次数

标签 统计

output-buffering ×1

php ×1

phpunit ×1

unit-testing ×1