Jenkins构件时,运行pytest提示UnicodeDecodeError

Jenkins通过docker搭建的,python等环境和三方包已正常安装,但是在构件时,在项目目录执行pytest命令,就提示UnicodeDecodeError错误


同样的代码,放在linux物理机环境上也是相同的报错,代码中每个py文件都有申明coding:utf-8,请问下还有哪里需要修改编码的呢?
谢谢各位

image
刚才临时写了个测试的py文件丢上去,运行命令pytest test_file.py能正常运行

请哪位大佬帮忙看看,windows上能正常运行的代码部署在linux上有哪些编码需要注意的地方

报错信息多贴点吧,下面的都是系统日志了,没有关于你代码里的报错信息,看不出来哪段代码的编解码有问题哦

代码在windows上执行是没有问题的,但是部署在linux上执行就提示报Unicode错


这个是在docker内部,项目目录下执行pytest的报错情况

还是没看到报错信息,你的脚本里是不是涉及到文件流的操作了?

脚本里面没有文件写操作,都是读取配置config文件和测试用例yaml文件,剩下的就是http发请求访问接口获取响应的

你看图片倒数第二行的就是报错 UnicodeDecodeError: ‘utf-8’ can’t decode byte 0xb2 in position 162

提供报错日志的前几行(你自己文件里的报错信息),而非python3 package里面的系统文件报错



控制台总共就输出这一点报错信息,没看到代码里的报错
代码在windows平台上可以正常跑
每个文件都在前面申明了coding:utf-8

是否有任何oepn文件操作
将open(xxxx,‘r’)改成 (xxxx,‘rb’)

读或写操作加上b

  • 你的pytest.ini里面写了中文吧,查一下

确实是在pytest.ini里面写了中文的marks标记描述
修改成英文的之后,在linux上运行没报错了,谢谢