我遇到了以下錯誤。當并非所有文件都可utf-8編碼時,測試將失敗poetry run pytest -v。=================================================== ============ 錯誤====================================== ========================== ____________________________________________ 收集測試/匿名/test.txt 時出錯 _____________________________________________ .venv/lib/python3.8/site-packages/ py/_path/common.py:171:在 read_text 中返回 f.read() ../../../.pyenv/versions/3.8.2/lib/python3.8/codecs.py:322:在解碼中(結果,消耗)= self._buffer_decode(數據,self.errors,最終)E UnicodeDecodeError:'utf-8'編解碼器無法解碼位置380中的字節0xf8:無效的起始字節========== ============================================== 簡短的測試摘要信息== =================================================== == 錯誤測試/匿名/test.txt - UnicodeDecodeError: 'utf-8' 編解碼器無法解碼位置 380 中的字節 0xf8: 無效的起始字節!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 已中斷:收集期間出現 1 個錯誤!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ?。?!與此同時,完全相同的設置適用于 Python 3.7,如果我使用poetry run pytest tests/my_tests.py.我正在使用:Python 3.8.2,詩歌1.0.5我該如何修復它?這個 bug 很煩人,因為它在 CI 中失敗。
1 回答

湖上湖
TA貢獻2003條經驗 獲得超2個贊
結果發現,該問題與任何版本無關,poetry
或者python.
我命名了該文件test.txt
并將其放在該tests/
文件夾下。默認情況下,pytest
查找所有以 為前綴的文件test
并驗證其編碼。正如test.txt
在 中iso-8859-1
,我遇到了一個與 UTF-8 相關的問題。
筆記:
test
確保使用時不要使用前綴命名文件pytest
。請注意,如果您決定使用前綴命名它們,它們應該是 UTF-8 編碼的。
添加回答
舉報
0/150
提交
取消