Unit Tests (тесты модульности) и Functional Tests (функциональные тесты) являются частями процесса тестирования программного обеспечения.
Unit Tests:
Определение: Тесты модульности проверяют отдельные компоненты программного обеспечения, такие как функции, классы или методы, чтобы убедиться, что они работают ожидаемым образом.
Пример: Если у вас есть функция в PHP, которая складывает два числа, вы можете написать юнит-тест для проверки, что эта функция возвращает правильный результат для различных входных данных.
Инструменты: Для написания и запуска юнит-тестов в PHP часто используются фреймворки, такие как PHPUnit.
Functional Tests:
Определение: Функциональные тесты проверяют работу всей системы или ее части в соответствии с требованиями функциональной спецификации.
Пример: Функциональный тест веб-приложения может включать в себя имитацию действий пользователя, таких как заполнение формы, отправка запросов и проверка результата.
Инструменты: Для функционального тестирования в PHP можно использовать инструменты, такие как Codeception или Behat.
Моки и стабы:
Моки (Mocks): Это объекты, которые имитируют поведение реальных объектов в системе и используются для тестирования других объектов.
Стабы (Stubs): Это объекты, которые предоставляют жестко определенные ответы на запросы, предназначенные для тестирования других объектов.
Вы можете использовать различные библиотеки, такие как PHPUnit, для создания моков и стабов. Например, PHPUnit предоставляет средства для создания моков и стабов с помощью функций
getMockBuilder() и getMock().