Возникли проблемы с отключением этой реализации.
Что мне нужно: результаты покрытия кода в моем существующем приложении-колбе, предпочтительно с использованием модульных тестов, совместимых с pytest.
Что я вижу: явидеть покрытие только для строк, которые выполняются при запуске моего приложения. Когда я использую pytest или почтальон для отправки запросов на мой сервер, показатели покрытия не меняются. То есть я могу запустить сервер, остановить его и получить те же результаты, что и при запуске, отправке запросов и остановке.
Я исследовал с помощью pytest, pytest-cov и cover.py.
Я реализовал обходной путь плагина sitecustomize.py в site_packages для поддержки покрытия подпроцесса, но безрезультатно.
Я использую сервер покрытия следующим образом: coverage run --source . app.py -m
Затем в новом терминале я запускаю pytest следующим образом: pytest
Затем я нажимаю ctrl + c на сервере, запускаю coverage report -m
, чтобы просмотреть мой вывод.
Мой app.py содержит следующее содержимое:
from flask import Flask, request, render_template, make_response
from flask_cors import CORS
from flask_restplus import Resource, Api, reqparse
app = Flask(__name__)
CORS(app)
api = Api(app)
if ENV == 'dev':
app.debug = True
else:
app.debug = False
ns_namespace = api.namespace('namespace', description='namespace')
@ns_namespace.route("/")
class Namespace(Resource):
def get(self):
pass
if __name__ == '__main__':
app.debug = True
app.run(host='0.0.0.0')
В идеале я хочу запустить одну команду, чтобы запустить сервер app.py, выполнить pytest и записать фактическое покрытие кода. Кто-нибудь сталкивался с чем-то вроде этого?