gpt4 book ai didi

python - 使用 coverage.py 在 python 中进行代码覆盖

转载 作者:行者123 更新时间:2023-11-28 21:53:48 27 4
gpt4 key购买 nike

我正在尝试了解 python 脚本的运行覆盖率。我无法理解我尝试为具有无限循环的简单脚本运行覆盖的场景:

#!/usr/bin/python

print "The only statement!!!"

while True:
pass

在调用此脚本的覆盖范围后,我将终止此进程,因为它是一个无限循环,如果我尝试获取结果,我会得到这样的结果:

  1. 覆盖率运行sample.py
  2. 杀死样本
  3. 覆盖率报告-m

名称 Stmts Miss Cover Missing
------------------------------------

我没有收到任何报道报告。我是否在做一些根本错误的事情?

最佳答案

coverage需要能够在程序结束时写出它的数据,如果它不能处理退出信号那么它不会生成报告。

所以这取决于你如何杀死你的进程以及如何coverage处理信号 - 使用 Ctrl+C(即发送 SIGINT)中断时对我来说工作正常 sample.py

$ coverage run sample.py
The only statement!!!
Traceback (most recent call last):
File "sample.py", line 5, in <module>
while True:
KeyboardInterrupt

$ coverage report -m
Name Stmts Miss Cover Missing
--------------------------------------
sample 3 0 100%

如果您使用 kill没有选项的实用程序,那么您默认发送 SIGTERM,请尝试 kill -INT <pid>相反。

关于python - 使用 coverage.py 在 python 中进行代码覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25502579/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com