詹金斯代码覆盖是如何工作的?

2024-04-26 21:17:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Jenkins为我的应用程序构建和监视测试。在

我有一段python代码:

def register_os_handler():
    def handler(signal, frm):
        raise SystemExit()
    signal(SIGHUP, handler)

在我的测试中,我创建了一个子进程,并向它发送一个SIGHUP信号,它将按预期退出,这意味着它到达raise SystemExit()行。在

当我把它提交给Jenkins时,所有的测试都通过了,但是它说raise SystemExit()行没有被覆盖。在

我很好奇为什么这条线真的达到了,但詹金斯还是抱怨?在

  1. 詹金斯的报道如何运作?

  2. 如果一个进程(即使是子进程)退出,它是否无法检测到该行或将该行考虑在内?

  3. 如何避开这个问题?


Tags: 代码register应用程序signal信号进程osdef