API-тестирование JSONPlaceholder
Pet-проект по автоматизированному тестированию REST API
Простой, но показательный набор автотестов для демонстрации навыков API-тестирования на Python.
Используется популярный fake REST API — JSONPlaceholder
- 18 автотестов на Python + pytest + requests
- Покрытие CRUD-операций (
/postsи/comments) - Валидация статус-кодов: 200, 201, 404
- Негативные сценарии и техники тест-дизайна:
- классы эквивалентности
- граничные значения
- неверные типы данных
- Параметризация тестов (
@pytest.mark.parametrize)
JSONPlaceholder — это фейковый API без какой-либо серверной валидации.
Поэтому:
- POST / PUT / PATCH всегда возвращают статус 201 / 200 и эхо-ответ — даже при передаче пустых строк, неверных типов, отсутствующих обязательных полей и т.д.
- DELETE всегда возвращает 200 — даже для несуществующих ресурсов
- Реальные негативные сценарии (400, 422, 401 и т.п.) здесь воспроизвести невозможно
В проекте сознательно показаны как успешные кейсы, так и поведение mock-API при «некорректных» данных — чтобы продемонстрировать понимание разницы между реальным и учебным сервисом.
pip install -r requirements.txt
pytest tests/ -v --html=report.html