megakor
@megakor
Go/PHP developer | Вконтакте

Правильно ли я понимаю разницу Unit/интеграционных/e2e тестов?

Сложно понять разницу, потому что везде по разному написано.

Правильно ли я понимаю?

Unit (модульные) тесты - это тесты какого-то класса/функции. Если требуется зависимость - мокаем её.
Интеграционные тесты - это black box тестирование обращений микросервису. Тут мы можем создать контейнеры в докере для БД и сервера приложения, вызвать ручки API, проверить их ответ и проверить что в БД правильно создаются/обновляются какие-то записи. Тут уже ничего не мокаем.
e2e тесты - это тесты с точки зрения пользователя.
На самом деле они очень похожи на интеграционные тесты, но со следующими изменениями:
  1. Тестируется вся система целиком, а не какой-то отдельный микросервис.
  2. Если пользователи работают с интерфейсом (например веб интерфейсом), надо тестировать не вызовы API, а взаимодействие с UI приложения (selenium etc.).
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka
Токсичный шарпист
Интеграционные тесты - иногда могут быть как юнит тесты, но без моков (или почти без моков)

При e2e могут мокаться некоторые внешние зависимости (платёжная система например)

В остальном вроде всё так.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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