jenkins构建中的除零错误
1|0一. 除零错误(ZeroDivisionError)
今天在jenkins上运行接口自动化测试任务时,从控制台输出中看到了除零错误,大概是这样的
从上图中,通过分析,可以得出三个结论:
1. jenkins通过命令行执行任务时,其所在的位置是在jenkins中当前任务的工作空间下
2. 那么main.py中寻找测试用例时的os.getcwd(),得到的不是futureloan_API_framework目录,而是当前运行脚本的目录API_Auto_Test
3. 很有可能是因为找不到测试用例才发生除零错误,因为我们的代码用的是TestLoader类下的discover方法,它会匹配以test*开头的测试用例
来看代码,也印证了上述猜想
2|0二. 解决办法:
2|1方法一: 采用配置目录路径的方法
在当前工程目录的Common目录下新建一个conf_dir.py的文件,利用os.path.abs(__file__)获得当前的目录路径,以及配置其他目录路径
在main.py文件中引入conf_dir.py下的一些表示路径的变量
现在去jenkins立即构建,运行成功
2|2方法二:在当前任务的配置中,找到构建,将构建命令修改如下
这样不用改代码了,因为os.getcwd()表示的正是当前运行脚本所在的位置futureloan_API_framework目录,运行结果也是成功的
个人比较倾向于第一种方法,无论windows cmd命令怎么变,它的结果都是成功的,而第二种则必须在特定的目录下运行脚本,有一定的局限性
__EOF__

本文作者:cnhkzyy
本文链接:https://www.cnblogs.com/my_captain/p/9352247.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/my_captain/p/9352247.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?