Проверка заголовков PHP с помощью PHPUnit

Я пытаюсь использовать PHPunit для тестирования класса, который выводит некоторые пользовательские заголовки.

Проблема в том, что на моей машине это:

<?php

class HeadersTest extends PHPUnit_Framework_TestCase {

    public function testHeaders()
    {
        ob_start();

        header('Location: foo');
        $headers_list = headers_list();
        header_remove();

        ob_clean();

        $this->assertContains('Location: foo', $headers_list);
    }
}

или даже это:

<?php

class HeadersTest extends PHPUnit_Framework_TestCase {

    public function testHeaders()
    {
        ob_start();

        header('Location: foo');
        header_remove();

        ob_clean();
    }
}

возвращает эту ошибку:

name@host [~/test]# phpunit --verbose HeadersTest.php 
PHPUnit 3.6.10 by Sebastian Bergmann.

E

Time: 0 seconds, Memory: 2.25Mb

There was 1 error:

1) HeadersTest::testHeaders
Cannot modify header information - headers already sent by (output started at /usr/local/lib/php/PHPUnit/Util/Printer.php:173)

/test/HeadersTest.php:9

FAILURES!
Tests: 1, Assertions: 0, Errors: 1.

Это выглядит так, как будто что-то еще выводит на терминал перед запуском теста, даже если нет включен другой файл, и перед началом тега PHP нет других символов. Может ли это быть что-то внутри PHPunit, что вызывает это?

В чем может быть проблема?

87
задан SamHennessy 28 April 2017 в 10:24
поделиться