Python + Jenkins 作业为失败的测试用例提供结果代码 = 0



我在远程服务器上安装了 Jenkins(不确定它是什么操作系统)和具有许多测试用例的python测试文件(即def()

当我运行詹金斯作业时。它在控制台上给出某些测试通过和其他失败的输出,但在控制台输出结束时,它显示:

**********************************************************************************************************************************
------------------------------------------------------------
Test complete. Result code = 0
STS: smoke_1
Unlock Code: 2014021009141392041655
------------------------------------------------------------
Archiving artifacts
Email was triggered for: Success
Sending email for trigger: Success
Sending email to: xxx
Notifying upstream projects of job completion
Finished: SUCCESS
***********************************************************************************************************************

为什么当某些测试通过而其他测试在python文件中失败时,结果代码= 0以上,如何将结果代码更正为非零值?

是 Jenkins 还是 Python 代码的错误?

我在Windows机器上通过浏览器使用Jenkins,所以对终端命令没有太多了解。但是让我告诉你代码:

这是我的代码:

print 'result code before subprocess: '
print result_code 
result_code = subprocess.call(command)
print 'result code after subporcess: ' 
print result_code

在 subprocess.call(command) result_code 被-1之前(默认)在 subprocess.call(command) 之后result_code 0

其中命令 = 'Jenkins/abc.sh'abc.sh 从里面调用 abc.py 文件的地方!

如果 abc.py 内的所有def()都成功执行,subprocess.call(command)会返回零,还是如果返回 abc.py 内的所有def()都通过,它会返回零吗?

在我的情况下,有些def()过去了,有些失败了,但仍然subprocess.call(command)返回零!这是对的吗?

如果我想在 abc.py 内部某些def()失败subprocess.call(command)返回非零怎么办?

最新更新