如何跳过Python 3.8.2文件编码测试?

我遇到了以下错误。当并非所有文件都可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 中失败。


郎朗坤
浏览 104回答 1
1回答

湖上湖

结果发现,该问题与任何版本无关,poetry或者python.我命名了该文件test.txt并将其放在该tests/文件夹下。默认情况下,pytest查找所有以 为前缀的文件test并验证其编码。正如test.txt在 中iso-8859-1,我遇到了一个与 UTF-8 相关的问题。笔记:test确保使用时不要使用前缀命名文件pytest。请注意,如果您决定使用前缀命名它们,它们应该是 UTF-8 编码的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python