27cm
@27cm
TODO: Написать статус

Как перехватить STDOUT вывод в php?

Например, чтобы протестировать работу вот такой функции:

function testme($n): void {
    fwrite(STDOUT, "test {$n}");
}


Во время теста вывод STDOUT надо перехватить, чтобы в итоге в STDOUT ничего не вывелось, но в тесте можно было проверить, что функция туда попыталась вывести.
  • Вопрос задан
  • 183 просмотра
Решения вопроса 1
Сомневаюсь что вам нужно тестировать способность PHP отправлять сообщения в поток вывода, так что просто предложу простой выход - написать для такого вывода простенькую обёртку, которую уже не составит труда замокать в тестах.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
toxa82
@toxa82
Не уверен что сработает, но попробуйте через output buffer функции ob_*
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы