【发布时间】:2012-12-18 14:58:29
【问题描述】:
我正在使用 PHPUnit 测试一套 REST Web 服务。我们使用输出缓冲来对响应进行 gzip 编码。当我使用 PHPUnit 对服务进行测试时,出现错误:
Cannot modify header information - headers already sent by (output started at /home/dotcloud/php-env/share/php/PHPUnit/Util/Printer.php:172)
抱怨我的代码回显是浏览器的输出...
我可以通过在测试类的顶部添加 ob_start() 调用来临时解决此问题,但是当我一次运行多个测试时,我再次收到此错误。
有什么想法吗?
【问题讨论】:
-
在您的
echo之前可能已经发送了一些东西,但如果您没有显示任何代码,我们将无法为您提供更多帮助 -
谢谢@bart,但如果有的话,上面的错误消息会引用那个“东西”所在的地方——而不是我最终回应浏览器响应的地方。在实际响应之前我没有回应任何内容 - 但 PHPUnit 是......
-
还...添加了 @outputBuffering 注释,但不清楚具体是做什么的。它没有任何效果。
-
在这里找到答案:stackoverflow.com/questions/9745080/… 必须单独运行测试。