我想在启用覆盖的生产环境中运行应用程序。 该应用程序始终处于运行状态,并且不会停止其执行。 我想每天看到覆盖率增加。 不幸的是,.coverage文件仅在应用程序停止后才会出现在磁盘上。
为了模拟这种行为,我使用了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
仅在打印end
字之后,我才能看到覆盖率文件
ls -a
. .. .coverage test.py
如何在py.coverage上强制刷新/取消缓冲?
答案 0 :(得分:1)
无法获取coverage.py 4.5.1来执行此操作。 5.0开发将数据存储切换为SQLite,因此我们应该能够添加一项功能,以定期将coverage数据刷新到数据库中。