8 499 938-65-20
Мы — ваш онлайн-юрист 👨🏻‍⚖️
Объясним пошагово, что делать в вашей ситуации. Разработаем документы и ответим на любой вопрос, даже самый маленький.

Все это — онлайн, с заботой о вас и по отличным ценам.

Тестирование обычных классов PHP Чтобы протестировать класс, написанный на PHP, с использованием фреймворка

Далее по тексту:

тестовый класс — класс, содержащий код модульных тестов, наследник любой из реализаций PHPUnit::TestCase;

тестируемый класс — класс, который необходимо протестировать.

Так как подпункт для начинающих, то для начала будет рассмотрена процедура модульного тестирования обычных классов PHP, а потом описаны отличия при тестировании кода, взаимодействующего с БД.

Тестирование обычных классов PHP

Чтобы протестировать класс, написанный на PHP, с использованием фреймворка PHPUnit, необходимо создать тестовый класс, расширяющий базовый класс PHPUnit_Framework_TestCase. Затем создать в этом классе публичные методы, начинающиеся со слова test (если создать метод, который будет называться по-другому, он не будет автоматически вызван при прогоне тестов), и поместить в них код, выполняющий действия с объектами тестируемого класса и проверяющий результат. На этом можно закончить и скормить полученный класс phpunit, который, в свою очередь, последовательно вызовет все тестовые методы и любезно предоставит отчет об их работе. Однако в большинстве случаев в каждом из тестовых методов будет повторяющийся код, подготавливающий систему для работы с тестируемым объектом. Для того, чтобы избежать дублирования кода, в классе PHPUnit_Framework_TestCase созданы защищенные методы setUp и tearDown, имеющие пустую реализацию. Эти методы вызываются перед и после запуска очередного тестового метода соответственно и служат для подготовки системы к выполнению тестовых действий и очистки ее после завершения каждого теста. В тестовом классе, расширяющем PHPUnit_Framework_TestCase, можно переопределить эти методы и поместить повторяющийся ранее в каждом тестовом методе код в них. В результате последовательность вызова методов при прогонке тестов будет следующая:

Показать полностью
, Васяся, г. Санкт-Петербург
Юристы уже работают над вопросом
Первые ответы обычно поступают в течение 15 минут
Дата обновления страницы 09.02.2022