我在远程服务器上安装了 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)
返回非零怎么办?