我碰到了下面的窃听器。当并非所有文件都是utf-8编码时,poetry run pytest -v上的测试就会失败。
==============================================================错误=============================================================== ____________________________________________错误收集测试/匿名/test.txt _____________________________________________ . .venv/lib/python3.8/site-packages/py/_path/common.py:171:在../../../.pyenv/versions/3.8.2/lib/python3.8/codecs.py:322:中,在read_text中以解码方式返回f.read())= self._buffer_decode(data,self.errors,final) E UnicodeDecodeError:'utf-8‘编解码器不能解码位置为380的字节0xf 8:无效的起始字节======================================================短测试摘要信息======================================================错误测试/匿名/test.txt- UnicodeDecodeError:'utf-8’编解码器无法解码位置380的字节0xf 8:无效的启动字节!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!。中断:收集!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!期间出现1次错误
同时,同样的设置也适用于Python3.7,如果我用poetry run pytest tests/my_tests.py运行测试的话。
我正在使用: Python 3.8.2,诗歌1.0.5
我怎么才能修好它?这个bug很烦人,因为它在CI中失败了。
发布于 2020-10-15 12:17:01
当它出现时,这个问题与任何版本的poetry或python.无关,我将文件test.txt命名为test.txt,并将其放在tests/文件夹下。默认情况下,pytest会找到以test为前缀的所有文件,并验证它们的编码。由于test.txt是在iso-8859-1,我有一个UTF-8相关的问题.
注:
确保在使用test时不要用pytest前缀命名文件。请注意,如果您决定用前缀命名它们,它们应该是UTF-8编码的。
https://stackoverflow.com/questions/64246724
复制相似问题