我被分配了一个旧项目,目前正在进行测试用例。我在某个代码块上出错,将数据保存为excel。
但是,该方法输出一个标题,因此phpunit说“无法修改标题信息”。
有没有办法告诉phpunit不要执行该方法?
$ codeCoverageIgnore没有解决问题,因为它只取决于codecoverage的数据。我找不到告诉phpunit的东西,“不要执行这个”。
header('Content-Type: application/vnd.ms-excel;charset=utf-8');
header('Content-type: application/x-msexcel;charset=utf-8');
header('Content-Disposition: attachment;filename="' . $this->sFileName . '"');
header('Cache-Control: max-age=0');
这是我从phpunit
获得的错误无法修改标题信息 - 已经发送的标题(输出从D:\ xampp7 \ php \ pear \ PHPUnit \ Util \ Printer.php:172开始)
答案 0 :(得分:0)
有两种解决方法 - 重构代码,以便在可以覆盖的函数中输出标题 - 根本不运行,或使用output buffering捕获标题(以及任何其他输出)而不是让他们发出。使用缓冲样式是有利的,因为可以检索和检查输出,然后将其丢弃(ob_get_clean
或ob_get_contents
& ob_clean
)。