Понимание аргументов теста pytest-django

Что такое параметры 'rf' и 'user_context' и когда они назначаются?

import pytest
from rest_framework import status
from rest_framework.reverse import reverse

from request_helper import pytest_request


@pytest.mark.urls(urls='api.urls')
@pytest.mark.django_db
def test_user_name_check_200(rf, users_context):
    data = {
        'username': 'test_jay_2'
    }
    url = reverse(viewname="users-check")
    response = pytest_request(rf,
                              method='get',
                              url=url,
                              user=None,
                              data=data)

    assert response.status_code == status.HTTP_200_OK

Заранее спасибо.

Оба являются pytest фикстурами (читайте о фикстурах здесь: About fixtures). rf определен в pytest-django (reference); экземпляр RequestFactory будет автоматически инжектирован для аргумента rf в тесте. users_context - это приспособление, определенное где-то в вашем тестовом проекте; найдите что-нибудь вроде

@pytest.fixture
def users_context():
    ...

в коде проекта.

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