你可以“跳过”phpunit中的代码块吗?

时间:2017-02-02 03:03:31

标签: php phpunit testcase

我被分配了一个旧项目,目前正在进行测试用例。我在某个代码块上出错,将数据保存为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开始)

1 个答案:

答案 0 :(得分:0)

有两种解决方法 - 重构代码,以便在可以覆盖的函数中输出标题 - 根本不运行,或使用output buffering捕获标题(以及任何其他输出)而不是让他们发出。使用缓冲样式是有利的,因为可以检索和检查输出,然后将其丢弃(ob_get_cleanob_get_contents& ob_clean)。