注意:这不是重复的问题。我见过一些类似的问题,但我问的是单元测试。
我正在尝试使用 CakePHP 2.3.6 编写测试用例,但使用 header() 函数的测试用例有问题。测试从浏览器运行没有问题,但从命令行,我收到以下错误。
Cannot modify header information - headers already sent by (output started at /usr/share/pear/PHPUnit/Util/Printer.php:172)
例如,错误发生在我的代码中的以下行。
header( 'Content-Type: application/json; charset=utf-8' );
对于 PHPUnit,可以使用 @runInSeparateProcess 来避免这种情况,但在 CakePHP 中,它会导致以下错误。
Notice: Constant TIME_START already defined in /app/lib/Cake/bootstrap.php on line 22
Notice: Constant CAKE already defined in /app/lib/Cake/bootstrap.php on line 48
Notice: Constant APPLIBS already defined in /app/lib/Cake/bootstrap.php on line 60
Notice: Constant SECOND already defined in /app/lib/Cake/basics.php on line 26
Notice: Constant MINUTE already defined in /app/lib/Cake/basics.php on line 27
等等。
我被困住了。有谁知道如何处理这个?提前非常感谢。