Pytest выдает ошибку «ValueError: Missing staticfiles manifest entry for 'assets/img/favicon.ico' », в то время как STATICFILES_STORAGE установлен по умолчанию в тестах [duplicate]

FAILED tests/test_views.py::test_index_view - ValueError: Missing staticfiles manifest entry for 'assets/img/favicon.ico'

В моем проекте, основанном на шаблоне Django, при запуске pytests на представлениях возникает ошибка, описанная выше. В целом я понимаю, что это такое и как с этим бороться при развертывании, но не хочу беспокоиться о статических файлах, проявляющихся при выполнении этих тестов. Самое очевидное решение, которое я нашел, это отключить его, установив STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage' в settings/test.py; это значение по умолчанию, я больше не должен беспокоиться о записях манифеста, но он сохраняется. Я написал тест-кейс, чтобы подтвердить, что pytest действительно использует эту настройку, и этот тест-кейс прошел.

Подводя итог, почему у меня возникает ошибка записи манифеста в тестах, запущенных с настройками STATICFILES_STORAGE по умолчанию, и как это исправить? Я пробовал несколько других вариантов, но общий принцип, похоже, заключается в изменении настроек STATICFILES_STORAGE. Что я упускаю или делаю неправильно?

Простая функция просмотра:

def index(request):
    return render (request, "main/index.html") 

Тестовые случаи, т.е. tests/test_views.py:

import pytest
from django.urls import reverse
from django.test import Client
from django.conf import settings

from main.models import SubscriptionPlan

def test_static_storage():
    print(settings.STATICFILES_STORAGE)
    assert settings.STATICFILES_STORAGE == 'django.contrib.staticfiles.storage.StaticFilesStorage'

def test_index_view():
    """
    Test that the index view renders the correct template.
    """
    client = Client()

    response = client.get(reverse('index'))  
    assert response.status_code == 200
    assert 'main/index.html' in [template.name for template in response.templates]

pytest.ini

[pytest]
DJANGO_SETTINGS_MODULE = project.settings.test

settings/test.py

from .base import *

# Override static file storage for tests
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'

settings/base.py

Именно test_index_view в настоящее время не работает с ошибкой выше и, как следствие, все остальные тесткейсы, которые последуют. Я только что понял, что я не использовал pytest с чем-либо, что связано с шаблонами, так что спасибо заранее!

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