В настоящее время я разрабатываю проект с использованием Laravel5.7 и сейчас занимаюсь тестированием. Я написал код для модульного тестирования в каталоге tests / unit. Следующее, что я вижу, это каталог test / Feature. Итак, мой вопрос в том, одинаковы ли тестирование функций и интеграционное тестирование или они имеют какое-то различие.
Любая помощь приветствуется






по определению функции и интеграционное тестирование не обязательно одинаковы.
Модульные тесты обычно проверяют наименьшую единицу кода, которая, скорее всего, является методом или функцией. Интеграционные тесты должны убедиться, что несколько модулей или один или несколько модулей работают вместе, как ожидалось. Функциональный тест обычно представляет собой сквозное тестирование, например вы тестируете конечную точку API через HTTP-запрос и подтверждаете ее ответ. Запрос API пройдет через все уровни вашего приложения, например, контроллер экземпляра, модели, DBAL, СУБД.
В моей компании мы запускаем довольно большое мультитенантное приложение Laravel, и у нас есть следующие наборы тестов: * Модульные тесты * Http-тесты для конечных точек API (сквозные, без фиксации БД) * Браузерные тесты с Dusk (сквозные, без моков БД)
В тестах имитируются все внешние / сторонние вызовы (например, Facebook API, поставщик услуг электронной почты).
Если вы тестируете API, то да, функциональный тест похож на сквозной тест. Но в других сценариях функциональный тест может быть только частью большого сквозного пути пользователя. По крайней мере, я так понимаю, потому что подобных универсальных определений типов тестов в разработке программного обеспечения я не нашел. Это может быть разным.
Google отправил мне сюда: stackoverflow.com/a/3670767/5309228