phpunit с выходной буферизацией

Я пытаюсь интегрировать PHPunit в большой проект, все выглядит нормально, за исключением того, что все методы, основанные на ob_start (), приведут к рискованному тесту.

Читая онлайн, кажется, что рискованные тесты — это такие тесты, которые выполняют код, не охватываемый методом тестирования. Однако я вообще не использовал аннотацию @covers, а это происходит только в ob_start ().

Итак, несколько вопросов:

  1. Возможно ли решить эту проблему?
  2. Что-то не так с ob_start, когда дело доходит до тестирования?
  3. Есть ли способ обойти это? (Если это невозможно решить).

В этом сценарии использования используется структура, чьи представления возвращаются (а не отправляются в браузер). Классическим примером является Codeigniter, в котором можно возвращать представления. Возвращаемые представления зависят от ob_start ().
Большое спасибо!

5

Решение

Решение двоякое, поскольку оно вращается вокруг двух проблем, которые у меня были.

  1. Что касается конкретной проблемы, используя представления в каркасе (codeigniter), я просто использовал макет для загрузчика, поэтому я реализовал пустую функцию, которая фактически не загружается и выводит html.
  2. Что касается фактической проблемы, с которой я столкнулся в поведении PHPunit, кажется, что PHPunit (4.5) будет предполагать, что тест рискованный, если использовать ob_start и ob_clean, однако при использовании ob_get_clean Тестирование работает как ожидалось. Я не уверен, почему, поскольку я не погрузился в сам код, но это решило его для меня
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]