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

时间:2014-02-10 16:35:04

标签: python jenkins

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

当我运行Jenkins作业时。它在控制台上提供输出,其中某些测试通过而其他失败但在控制台输出结束时显示:

**********************************************************************************************************************************
------------------------------------------------------------
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代码是否有错误?

1 个答案:

答案 0 :(得分:0)

我在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(命令)之前result_code是-1(默认) 在subprocess.call(命令)之后result_code是0

其中command ='jenkins / abc.sh' 其中abc.sh从里面调用abc.py文件!

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

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

如果我希望subprocess.call(command)在abc.py内部发生某些def()失败时返回非零值该怎么办?