Не подходит потому что в варианте описанном в статье имеется вероятность получить не актуальные данные из кеша. Потому как при отсутствии тега в кеше, запись помеченная этим тегом считается валидной.
Такое может прокатить на башорге, на пример. Но на более серьёзном сайте такое может оказаться не простительным.
Не найти данных в кеше и получить не актуальные данные из кеша — это очень разные понятия.
Это ж конденсатор. Кто-нибудь пробовал у лампового телевизора к высоковольтному трансформатору отвёртку подносить, чтобы проверить есть ли напряжение для разогрева кинескопа? Кстати, если пробник которым фазу в сети проверяют поднести к такому трансформатору она тоже светиться начинает.
Я не полностью видимо сформулировал вопрос. Как быть с любыми заголовками (header), если они должны выдаваться в конструкторе класса?
Как варианты мной придуманные:
1) Отлавливать exception (как то не правильно)
2) В параметрах конструктора прописывать переменную $testing (но тогда как быть, если эти заголовки действительно нужны для теста)
3) Может как то отключить вывод сообщений самим phpunit до момента создания объекта тестируемого класса (не знаю как)
4) Как то отделить поток вывода класса от потока вывода теста (тоже не знаю как)
Больше пока ничего в голову не лезет.
У меня вопрос. В конструкторе класса инициализируется сессия и устанавливаются cookies.
if (!session_id()) session_start();
if(empty($_COOKIE['user_unid'])) setcookie(«user_unid», 'asd');
При выполнении теста возникает ошибка (из-за того, то phpunit вывод начинает раньше)
Cannot modify header information — headers already sent
Такое может прокатить на башорге, на пример. Но на более серьёзном сайте такое может оказаться не простительным.
Не найти данных в кеше и получить не актуальные данные из кеша — это очень разные понятия.
Как варианты мной придуманные:
1) Отлавливать exception (как то не правильно)
2) В параметрах конструктора прописывать переменную $testing (но тогда как быть, если эти заголовки действительно нужны для теста)
3) Может как то отключить вывод сообщений самим phpunit до момента создания объекта тестируемого класса (не знаю как)
4) Как то отделить поток вывода класса от потока вывода теста (тоже не знаю как)
Больше пока ничего в голову не лезет.
if (!session_id()) session_start();
if(empty($_COOKIE['user_unid'])) setcookie(«user_unid», 'asd');
При выполнении теста возникает ошибка (из-за того, то phpunit вывод начинает раньше)
Cannot modify header information — headers already sent
Как в этом случае поступить?