Как использовать фикстуры pytest с Django TestCase?Python

Программы на Python
Ответить
Anonymous
 Как использовать фикстуры pytest с Django TestCase?

Сообщение Anonymous »

Как я могу использовать приспособление pytest внутри TestCase метод?
Некоторые ответы на похожие вопросы, похоже, подразумевают, что мой пример должен работать:
import pytest

from django.test import TestCase
from myapp.models import Category

pytestmark = pytest.mark.django_db

@pytest.fixture
def category():
return Category.objects.create()

class MyappTests(TestCase):
def test1(self, category):
assert isinstance(category, Category)

Но это всегда приводит к ошибке:
TypeError: test1() missing 1 required positional argument: 'category'

Я понимаю, что могу просто преобразовать этот тривиальный пример в функцию, и все будет работать.
Я бы предпочел использовать из DjangoTestCase, потому что он включает поддержку импорта традиционных файлов "Django fixment", которые требуются для некоторых моих тестов.
Преобразование моих тестов в функциям потребуется переопределить эту логику, поскольку не существует документированного способа импорта "Фикстур Django" с помощью pytest (или pytest-django).
пакет версии:
Django==3.1.2
pytest==6.1.1
pytest-django==4.1.0


Подробнее здесь: https://stackoverflow.com/questions/645 ... o-testcase
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»