【问题标题】:Python coverage and postmanPython 覆盖率和邮递员
【发布时间】:2018-02-04 01:05:05
【问题描述】:

我已经构建了一个烧瓶宁静的应用程序,我认为这是通过邮递员进行的全面测试。我从命令行使用 newman 运行我的测试。

我正在尝试使用 coverage.py 来确定我是否在测试中遗漏了任何代码,但我无法通过 newman 让它与外部测试过程一起工作。

我遵循了烧瓶指南并添加了一个关闭端点,纽曼脚本最后调用了该端点。当我检查覆盖率报告时,它基本上说我的所有代码都没有被覆盖。

这甚至可能吗?是否有其他工具可以让我检查现有测试的覆盖率?我真的不想为了获得覆盖率而将所有测试都转换为 python。

【问题讨论】:

  • 你在做什么样的测试?覆盖率报告是一种主要用于单元测试等低级测试的工具。另一方面,您似乎通过 HTTP 访问系统,这对于集成、行为或端到端测试等高级测试来说是典型的。

标签: python rest flask code-coverage postman


【解决方案1】:

简答:要使用coverage.py,您的测试必须用 Python 编写。

更长的答案:coverage.py 通过运行代码(即测试)并查看它调用了哪些代码行来工作。换句话说,测试和要测试的代码必须在同一个进程中。如果newman 是用 Python 编写的并且它可以调用 Flask 应用程序,它可能是可能的。

一线希望:可能的方法是使用profiler 运行Flask 应用程序,通过newman 在外部运行它,然后检查分析数据以查看是否调用了所有语句。唉,我不知道有哪个分析器可以提供这种报告,但理论上它收集的数据应该是可能的。

【讨论】:

    猜你喜欢
    • 2017-02-13
    • 2015-04-02
    • 2020-03-27
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多