Static en tests de django

Hola, estoy haciendo una aplicación con Django 4 y cuando corro el server con python manage.py runserver, los staticfiles se cargan perfecto, pero cuando corro los tests con python manage.py test functional_tests obtengo un traceback y no encuentra los static files.

El codigo fuente está en GitHub - javiermarcon/activospasivos y el traceback que obtengo es:

Traceback (most recent call last):
File “/usr/lib/python3.9/wsgiref/handlers.py”, line 137, in run
self.result = application(self.environ, self.start_response)
File “/home/javier/.virtualenvs/ap_dev/lib/python3.9/site-packages/django/test/testcases.py”, line 1447, in call
return super().call(environ, start_response)
File “/home/javier/.virtualenvs/ap_dev/lib/python3.9/site-packages/django/core/handlers/wsgi.py”, line 133, in call
response = self.get_response(request)
File “/home/javier/.virtualenvs/ap_dev/lib/python3.9/site-packages/django/test/testcases.py”, line 1430, in get_response
return self.serve(request)
File “/home/javier/.virtualenvs/ap_dev/lib/python3.9/site-packages/django/test/testcases.py”, line 1442, in serve
return serve(request, final_rel_path, document_root=self.get_base_dir())
File “/home/javier/.virtualenvs/ap_dev/lib/python3.9/site-packages/django/views/static.py”, line 36, in serve
fullpath = Path(safe_join(document_root, path))
File “/home/javier/.virtualenvs/ap_dev/lib/python3.9/site-packages/django/utils/_os.py”, line 17, in safe_join
final_path = abspath(join(base, *paths))
File “/usr/lib/python3.9/posixpath.py”, line 76, in join
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType

Mi config de staticfiles es:

BASE_DIR = Path(file).resolve().parent.parent
STATIC_URL = ‘/static/’
print(‘BASE DIR: {}’.format(BASE_DIR))
STATICFILES_DIRS = (
os.path.join(BASE_DIR, “static”),
)

Cualquier idea que me ayude a dilucidar este tema será bienvenida.

Gracias,

Javier.

La solución es cambiar la clase de tests de Django por una que si soporta static:

from django.contrib.staticfiles.testing import StaticLiveServerTestCase

Saludos,

Javier.

2 Me gusta