我正在使用Jenkins为我的应用程序构建和监视测试。在
我有一段python代码:
def register_os_handler():
def handler(signal, frm):
raise SystemExit()
signal(SIGHUP, handler)
在我的测试中,我创建了一个子进程,并向它发送一个SIGHUP信号,它将按预期退出,这意味着它到达raise SystemExit()
行。在
当我把它提交给Jenkins时,所有的测试都通过了,但是它说raise SystemExit()
行没有被覆盖。在
我很好奇为什么这条线真的达到了,但詹金斯还是抱怨?在
詹金斯的报道如何运作?
如果一个进程(即使是子进程)退出,它是否无法检测到该行或将该行考虑在内?
如何避开这个问题?
我相信詹金斯用覆盖率.py. 如果要计算子进程的覆盖率,则需要进行一些修改,如下所述:
http://nedbatchelder.com/code/coverage/subprocess.html
相关问题 更多 >
编程相关推荐