Тесты в 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 игнорятся ((

Вернуться на верх