2017-08-25 145 views
1

我已经建立了一个安静的应用程序与我相信是邮递员的全面测试。我从命令行使用newman运行我的测试。Python的覆盖范围和邮差

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

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

这甚至可能吗?有没有其他工具可以让我用我现有的测试来检查覆盖率?我真的不想将所有的测试转换为python来获取覆盖率数据。

+1

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

回答

0

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

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

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