Тестировал ли API на Django unit-тестами
Python
Junior
Без компании
Тестировал ли API на Django unit-тестами
Ответы
Да, тестировал API на Django с использованием unit-тестов. Основные инструменты:
- `TestCase` из `django.test` для HTTP-запросов
- `APIClient` для удобного тестирования REST API
- `pytest` с плагинами (например, `pytest-django`)
Пример теста для эндпоинта:
```
from django.urls import reverse
from rest_framework.test import APITestCase
class UserAPITestCase(APITestCase):
def test_user_creation(self):
url = reverse('user-list')
data = {'username': 'test', 'password': '123'}
response = self.client.post(url, data, format='json')
self.assertEqual(response.status_code, 201)
self.assertEqual(response.data['username'], 'test')
```
Ключевые моменты:
- Тестируем статус-коды, структуру ответа
- Можно мокать внешние зависимости с `unittest.mock`
- Для аутентификации используем `force_authenticate()`
- Лучше разбивать тесты на мелкие атомарные случаи