Reputation: 5028
I'm using PHPUnit to test a function which downloads a file. I want to test that the correct file is downloaded and so my idea was to check the output of the function. I'm trying to use output buffering:
ob_start();
$viewer->downloadById($fileId);
$output = ob_get_flush();
$this->assertEquals($expectedFileContents,$output);
The test passes/fails when it should, which is good. My issue is that the contents of the output buffer is also printed to the console. How do I hide this?
Upvotes: 6
Views: 4702
Reputation: 6968
Use ob_get_clean()
instead of ob_get_flush()
. The former will remove the buffer without printing it and return its contents. The latter will do the same and print the contents of the buffer.
Upvotes: 11