Pytest-django RuntimeError : Доступ к базе данных запрещен,

Я тестирую свое приложение django с помощью pytest / pytest-django.

мой файл urls.py содержит

from django.urls import include, path
from . import views

urlpatterns = [
    path('', include('django.contrib.auth.urls')),
    path('users/', views.users, name='users'),
    path('add-user/', views.add_new_user, name='add_new_user'),
]

в моем файле tests.py, у меня есть

import pytest
from django import urls


def test_users_url_resolves_to_users_view(client):
    url = urls.reverse('users')
    resp = client.get(url)
    assert resp.status_code == 200

Я получаю RuntimeError: Database access not allowed, use the "django_db" mark, or the "db" or "transactional_db" fixtures to enable it. когда запускаю это.

В сообщении об ошибке говорится, что вы должны сделать либо

@pytest.mark.django_db
def test_users_url_resolves_to_users_view(client):
    url = urls.reverse('users')
    resp = client.get(url)
    assert resp.status_code == 200

или

def test_users_url_resolves_to_users_view(client, django_db):
    url = urls.reverse('users')
    resp = client.get(url)
    assert resp.status_code == 200
Вернуться на верх