Модульное тестирование с элементами, которые нужно отправить заголовки - PullRequest
47 голосов
/ 10 октября 2008

В настоящее время я работаю с PHPUnit, чтобы попытаться разработать тесты наряду с тем, что я пишу, однако в настоящее время я работаю над написанием Session Manager, и у меня возникают проблемы при этом ...

Конструктор для класса обработки Session -

private function __construct()
{
    if (!headers_sent())
    {
        session_start();
        self::$session_id = session_id();
    }
}

Однако, поскольку PHPUnit отправляет текст перед началом тестирования, любое тестирование этого объекта возвращает неудачный тест, поскольку HTTP-заголовки были отправлены ...

Ответы [ 11 ]

0 голосов
/ 10 октября 2008

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

Даже если OB используется где-то внутри ваших классов, он является наращиваемым, и OB не должен влиять на то, что происходит внутри.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...