Взято из здесь :
У вас есть два типа тестов:
- Интеграция - Проверка интеграционного тестачто компоненты в вашем приложении работают друг с другом, т.е. как единое целое, без всяких насмешек.
- Unit - модульный тест проверяет небольшой компонент в вашем приложении изолированно, то есть проверяет все зависимости для этого.
Предположим, у вас есть приложениекод, который делает запрос к API.
Вы должны использовать unit test , чтобы проверить, вызывается ли в вашем коде приложения запрос к API или нет (без фактического выполнения запроса API). Вы бы смоделировали поведение отправки запроса и создали поддельный ответ в своем модульном тесте. Это сделано для того, чтобы вы могли протестировать свой код в изоляции запроса / ответа API.
Но если вы действительно хотите вызвать API и получить реальный ответ, то вы быиспользуйте интеграционные тесты . Это позволяет вам тестировать поведение приложения в целом.
В python unittest
и pytest
- две из многих доступных библиотек для запуска тестов, для написания и управления такими тестами .
Если вы хотите смоделировать запросы / ответ, проверьте это: Как я могу смоделировать запросы и ответ?
Насколько я понимаю, вы ищетена самом деле сделать запрос в вашем конвейере Jenkins CI / CD на сервер и посмотреть, получите ли вы успешный ответ. Это относится к категории интеграционных тестов, поэтому вам не нужно что-либо издеваться.
Вы можете проводить интеграционные тесты как с unittest
, так и с pytest
.
Вот пример с pytest
:
import pytest
def test_get_request():
response = requests.get('http://google.de')
assert response.status_code == 200
Чтобы запустить это, вы можете запустить задачу командной строки в своем конвейере jenkins:
pytest your_test_file.py
Вы можете следоватьэто руководство для получения дополнительной информации и введения в PyTest здесь .