1
resposta

Erro fixture

Erro ao rodar test fixture, github: https://github.com/ArthurCoutinho15/escola_api/blob/main/escola/tests/test_fixtures.py

(venv) PS C:\Users\Arthur Coutinho\Desktop\Arthur Coutinho\Python\Api_Escola> python manage.py test Found 29 test(s). Creating test database for alias 'default'... System check identified no issues (0 silenced). ...........None ....E.............

ERROR: setUpClass (escola.tests.test_fixtures.FixturesTestCase)

Traceback (most recent call last): File "C:\Users\Arthur Coutinho\Desktop\Arthur Coutinho\Python\Api_Escola\venv\Lib\site-packages\django\test\testcases.py", line 1279, in setUpClass call_command( File "C:\Users\Arthur Coutinho\Desktop\Arthur Coutinho\Python\Api_Escola\venv\Lib\site-packages\django\core\management_init_.py", line 194, in call_command return command.execute(*args, **defaults) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Arthur Coutinho\Desktop\Arthur Coutinho\Python\Api_Escola\venv\Lib\site-packages\django\core\management\base.py", line 459, in execute output = self.handle(*args, **options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Arthur Coutinho\Desktop\Arthur Coutinho\Python\Api_Escola\venv\Lib\site-packages\django\core\management\commands\loaddata.py", line 102, in handle self.loaddata(fixture_labels) File "C:\Users\Arthur Coutinho\Desktop\Arthur Coutinho\Python\Api_Escola\venv\Lib\site-packages\django\core\management\commands\loaddata.py", line 163, in loaddata self.load_label(fixture_label) File "C:\Users\Arthur Coutinho\Desktop\Arthur Coutinho\Python\Api_Escola\venv\Lib\site-packages\django\core\management\commands\loaddata.py", line 251, in load_label for obj in objects: File "C:\Users\Arthur Coutinho\Desktop\Arthur Coutinho\Python\Api_Escola\venv\Lib\site-packages\django\core\serializers\json.py", line 67, in Deserializer stream_or_string = stream_or_string.decode() ^^^^^^^^^^^^^^^^^^^^^^^^^ UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte


Ran 28 tests in 7.641s

FAILED (errors=1) Destroying test database for alias 'default'... (venv) PS C:\Users\Arthur Coutinho\Desktop\Arthur Coutinho\Python\Api_Escola>

1 resposta

Bom dia, Arthur! Tudo bem?

O problema em questão acontece porque quando você cria aquelas informações e manda para o arquivo "prototipo_banco.json", o arquivo é salvo usando a codificação ISO 8859-1, mas a codificação necessária para o teste é UTF-8.

Logo, a solução para esse problema é salvar o arquivo .json usando a codificação correta para ele. Segue um GIF de como você pode fazer isso no ambiente do VS Code:

Captura de tela do ambiente do VS Code, onde é alterado a codificação do arquivo, clicando na opção que está na barra inferior da janela com o nome de uma codificação

No mais, espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.