"Unknown pytest.mark.django_db" при попытке запустить тест для django-treebeard

Я пытаюсь выполнить следующий тест из django-treebeard:

В случае, если вы знаете, что делаете, существует тест, который отключен по умолчанию, который может сказать вам оптимальный алфавит по умолчанию в вашей окружении. Чтобы запустить тест, необходимо включить параметр переменную окружения TREEBEARD_TEST_ALPHABET:

$ TREEBEARD_TEST_ALPHABET=1 py.test -k test_alphabet

У меня Django и PostgreSQL установлены через Docker:

Dockerfile

FROM python:3

ENV PYTHONUNBUFFERED=1
ENV TREEBEARD_TEST_ALPHABET=1
ENV DATABASE_USER = "postgres"
ENV DATABASE_PASSWORD = "postgres"
ENV DATABASE_HOST = "db"
ENV DATABASE_USER_POSTGRES = "postgres"
ENV DATABASE_PORT_POSTGRES = 5432

WORKDIR /code

COPY Pipfile Pipfile.lock /code/
RUN pip install pipenv && pipenv install --dev --system

COPY . /code/

docker-compose.yml

version: "3.9"
   
services:
  db:
    image: postgres
    volumes:
      - ./data/db:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db

Pipfile

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
django = "~=3.2"
djangorestframework = "*"
ulid2 = "*"
psycopg2 = "*"
django-lifecycle = "*"
django-filter = "*"
django-cors-headers = "*"
djangorestframework-simplejwt = "*"
django-allauth = "*"
dj-rest-auth = "*"
django-treebeard = "*"
djangorestframework-recursive = "*"

[dev-packages]
black = "*"
django-debug-toolbar = "*"
drf-yasg = "*"
coverage = "*"
pytest = "*"

[requires]
python_version = "3.9"

[pipenv]
allow_prereleases = true

И сервисы db и web прекрасно работают на моем фронтенде и для моих тестов django.

Я также пошел вперед и распаковал django-treebeard в мой веб-сервис Docker, так что docker-compose exec web dir возвращает следующее, где data - моя база данных Postgre, app - мое приложение django, config - мой проект django, и django-treebeard-master - репо django-treebeard:

Dockerfile    README.md  data                     htmlcov
Pipfile       app        django-treebeard-master  manage.py       
Pipfile.lock  config     docker-compose.yml

Когда я запускаю docker-compose exec web pytest -k alphabet_test, я получаю следующую ошибку:

====================== test session starts =======================platform linux -- Python 3.10.1, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
rootdir: /code
collected 1149 items / 1149 deselected

======================== warnings summary ========================django-treebeard-master/treebeard/tests/test_treebeard.py:170     
  /code/django-treebeard-master/treebeard/tests/test_treebeard.py:170: PytestUnknownMarkWarning: Unknown pytest.mark.django_db - is 
this a typo?  You can register custom marks to avoid this warning 
- for details, see https://docs.pytest.org/en/stable/mark.html    
    @pytest.mark.django_db

...

django-treebeard-master/treebeard/tests/test_treebeard.py:3032    
  /code/django-treebeard-master/treebeard/tests/test_treebeard.py:3032: PytestUnknownMarkWarning: Unknown pytest.mark.django_db - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html   
    @pytest.mark.django_db

-- Docs: https://docs.pytest.org/en/stable/warnings.html
============= 1149 deselected, 29 warnings in 14.53s =============

Как исправить эту PytestUnknownMarkWarning: Unknown pytest.mark.django_db ошибку, чтобы я мог выполнить py.test -k test_alphabet тест?

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