Python 3.x 在现有Python/Flask应用程序上实现代码覆盖率和单元测试

Python 3.x 在现有Python/Flask应用程序上实现代码覆盖率和单元测试,python-3.x,flask,pytest,coverage.py,pytest-cov,Python 3.x,Flask,Pytest,Coverage.py,Pytest Cov,无法完成此实现 我需要的是:现有flask应用程序上的代码覆盖率结果,最好使用与pytest兼容的单元测试 我看到的是: 我只看到在我的应用程序启动时执行的行的覆盖率。当我使用pytest或postman向服务器发送请求时,覆盖率指标不会改变。也就是说,我可以启动、停止服务器,并获得与启动、发送请求和停止服务器相同的结果 我已经使用pytest、pytest cov和coverage.py进行了调查 我在site_包中实现了sitecustomize.py覆盖率插件解决方案,以支持子流程覆盖率,

无法完成此实现

我需要的是:现有flask应用程序上的代码覆盖率结果,最好使用与pytest兼容的单元测试

我看到的是: 我只看到在我的应用程序启动时执行的行的覆盖率。当我使用pytest或postman向服务器发送请求时,覆盖率指标不会改变。也就是说,我可以启动、停止服务器,并获得与启动、发送请求和停止服务器相同的结果

我已经使用pytest、pytest cov和coverage.py进行了调查

我在site_包中实现了sitecustomize.py覆盖率插件解决方案,以支持子流程覆盖率,但没有效果

我正在运行覆盖率服务器,如下所示:
覆盖率运行——源代码。app.py-m

然后在一个新的终端中,我运行pytest,如下所示:
pytest

然后我按住ctrl+c组合键打开服务器,运行
覆盖率报告-m
查看我的输出

My app.py包含以下内容:

从烧瓶导入烧瓶,请求,呈现模板,做出响应
从LASKU cors进口cors
来自flask_restplus导入资源、Api、reqparse
app=烧瓶(名称)
CORS(应用程序)
api=api(应用程序)
如果ENV==“dev”:
app.debug=True
其他:
app.debug=False
ns_namespace=api.namespace('namespace',description='namespace')
@ns_名称空间.路由(“/”)
类命名空间(资源):
def get(自我):
通过
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app.debug=True
app.run(host='0.0.0.0')
理想情况下,我希望运行一个命令来启动app.py服务器,执行pytest,并记录实际的代码覆盖率。有人遇到过这样的事情吗?

发现了问题


事实证明,app.debug=True是罪魁祸首。app.debug会产生一个单独的进程,或者类似的东西,我们无法深入了解其覆盖范围

谢谢。我和Zope也有类似的问题。