你能在phpunit中"skip"一个代码块吗?



我被分配到一个旧项目,目前正在做测试用例。我在某个代码块上有一个错误,该代码块将数据保存到 excel。

但是,该方法输出一个标头,因此 phpunit 说"无法修改标头信息"。

有没有办法告诉phpunit喜欢不要执行该方法?

$codeCoverageIgnore并不能解决问题,因为它只取决于代码覆盖率的数据。我找不到告诉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 开始)

有两种解决方法 - 重构代码,以便标头输出到您可以覆盖的函数中 - 根本不运行,或者使用输出缓冲来捕获标头(和任何其他输出)而不是将它们发送出去。使用缓冲样式有一个优点,因为可以检索和检查输出,然后丢弃(ob_get_cleanob_get_contents&ob_clean)。

相关内容

最新更新