Задать вопрос
NickITDir
@NickITDir
Начинающий разработчик

Что не так с фикстурами pytest?

Не могу понять по чему возникает ошибка, помогите разобраться.

Необходимо написать тест, что бы проверить, что анонимный пользователь при попытке перейти на редактирование или удаление комментария редиректился на страницу регистрации
Код самого теста
@pytest.mark.django_db
@pytest.mark.parametrize(
    'name, args',
    [
        ('news:edit', pytest.lazy_fixture('news')),
        ('news:delete', pytest.lazy_fixture('news')),
    ],
)
def test_redirects(client, name, args):
    login_url = reverse('users:login')
    url = reverse(name, args=args)
    expected_url = f'{login_url}?next={url}'
    response = client.get(url)
    assertRedirects(response, expected_url)

Код фикстур
import pytest
from news.models import News

'''Фикстура записи'''


@pytest.fixture
def news():
    return News.objects.create(
        title='Test News',
        text='Test text',
    )


'''Фикстура возвращающая slag'''


@pytest.fixture
def slug_arge(news):
    return news.pk
  • Вопрос задан
  • 211 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
Kanakagawa
@Kanakagawa
Увлекаюсь программированием на языке python
Проверь, что модель News правильно определена и имеет все необходимые поля, такие как title и text. Убедись, что в модели News не возникают ошибки и она успешно мигрирована в базу данных.

Убедись, что у тебя правильно настроены URL-шаблоны в файле urls.py и что соответствующие URL-адреса для редактирования и удаления новостей правильно настроены.

Проверь, что ты импортировал все необходимые модули и функции, такие как reverse и assertRedirects, перед использованием в тестовом файле.

Если проблема остается неразрешенной, рекомендуется предоставить полный текст ошибки, чтобы можно было более точно определить причину и предоставить дальнейшую помощь.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы