无缓冲python覆盖率

无缓冲python覆盖率,python,code-coverage,coverage.py,Python,Code Coverage,Coverage.py,我想在生产环境中运行应用程序,并启用覆盖率。 应用程序始终处于启动状态,不停止执行。 每天我都希望看到覆盖率的增加。 不幸的是,只有在应用程序停止后,覆盖率文件才会出现在磁盘上 为了模拟这种行为,我使用test.py # cat test.py if 1==2: print(1) if 2==2: print(2) import time i = 10 while i: print("sleep") time.sleep(1) i -= 1 pr

我想在生产环境中运行应用程序,并启用覆盖率。 应用程序始终处于启动状态,不停止执行。 每天我都希望看到覆盖率的增加。 不幸的是,只有在应用程序停止后,覆盖率文件才会出现在磁盘上

为了模拟这种行为,我使用test.py

# cat test.py 
if 1==2:
    print(1)

if 2==2:
    print(2)

import time

i = 10
while i:
    print("sleep")
    time.sleep(1)
    i -= 1

print("end")
它像

python3 -u -m coverage run test.py 
2
sleep
sleep
sleep
sleep # I want to be able to see coverage in this moment
sleep
sleep
sleep
sleep
sleep
sleep
end
只有在打印完word后,我才能看到覆盖范围文件

ls -a
.  ..  .coverage  test.py

如何在py.coverage上强制刷新/取消缓冲

没有办法让coverage.py 4.5.1做到这一点。5.0开发将数据存储切换到SQLite,因此我们应该能够添加一个功能,定期将覆盖率数据刷新到数据库中。

我不明白您所说的“每天我都想看到覆盖率增加”是什么意思为什么应用程序会在第二天运行代码,而不是在第一天运行?它是一个交互式应用程序。在第1天获得输入A,在第2天获得输入B,在第3天获得A和B的组合,因此有3个分支需要覆盖三天。您将从覆盖率测量中学到什么?你有一个自动测试套件可以给你覆盖率数字吗?@NedBatchelder我正在寻找一个解决办法,关于ant如何而不是为什么解决某个问题。1.当然,我没有输入D,E,F的自动案例。。。(我只有A、B和C三个选项)。2.QA每天都在做一些测试,我需要确保他们正确地完成了工作。当我从使用coverage.py的人那里收到不寻常的问题时,我希望尽可能多地了解他们的使用情况。它帮助我建立了一个更好的产品。