Тесты в Django REST
Уже работал с тестами в Джанго, отметил важный момент - игнорирование рабочей базы данных, создание "виртуальных" объектов в setUp(), тестирование с ними, и потом их уничтожение. Да, есть способы работать и с любыми БД, но они не "по умолчанию".
Между тем, пытаюсь запустить тесты внутри проекта с REST Framework - получается обратная картина. По умолчанию доступна уже созданная, рабочая БД. Пробовал классы TestCase, TransactionTestCase, SimpleTestCase. Пробовал питоновскую библиотеку requests, и rest_framework.test APIClient
from rest_framework.test import APIClient
from django.test import TestCase,TransactionTestCase,SimpleTestCase
from ..models import Book, Author
class APITest(TestCase):
def setUp(self):
# Создаем тестовых автора и книгу
Author.objects.create(first_name='Ikari', last_name='Sinji', birth_year=1971)
Book.objects.create(title='Evangelion', author=Author.objects.get(first_name='Ikari'),
edition_year=1999, isbn_code='0-666-666-6',
num_pages=666)
def test_api(self):
client = APIClient()
response = client.get('/api/books/')
data = response.json()
print(data, flush=True)
Все "работает", но ответом выходит уже созданная большая БД (даже пагинация подтягивается), а объекты из setUp игнорятся ((