How to test for expected headers?

phpunit

Solution

If you have xdebug installed you can use xdebug_get_headers() to get the headers. Then you can test them as needed.

$headers=xdebug_get_headers();

gets you an array which looks like...

array(
    0 => "Content-type: text/html",
    1 => ...
)

So you'll need to parse each header line to separate the header name from the value

Problem

I have a unit test that fails because headers are already sent. However, the header in this scenario is expected. How do I tell PHPUnit to expect a 500 header? I've read this question but it didn't help. The method is wrapped inside an output buffer. ``` ob_start(); $foo->methodWhichSendsHeader(); ob_clean(); ```

Original source

Related problems