标签: php unit-testing testing phpunit
我使用PHPUnit来测试下载文件的功能。我想测试下载了正确的文件,所以我的想法是检查函数的输出。我试图使用输出缓冲:
ob_start(); $viewer->downloadById($fileId); $output = ob_get_flush(); $this->assertEquals($expectedFileContents,$output);
测试通过/失败,应该是好的。我的问题是输出缓冲区的内容也打印到控制台。我怎么隐藏这个?
答案 0 :(得分:4)
使用ob_get_clean()代替ob_get_flush()。前者将删除缓冲区而不打印它并返回其内容。后者将执行相同的并打印缓冲区的内容。
ob_get_clean()
ob_get_flush()