python - django 测试覆盖率与黑盒测试?

标签 python django testing code-coverage black-box-testing

我们正在使用黑盒(功能集成)测试方法测试 Django 应用程序,其中客户端通过对 Django 应用程序的 REST API 调用执行测试。客户端在不同的 VM 上运行,因此我们不能使用典型的 coverage.py(我认为)。

有没有办法计算这些黑盒测试的覆盖率?我可以以某种方式指示 Django 在测试覆盖率模式下启动和停止,然后报告测试覆盖率吗?

最佳答案

功能集成测试的覆盖率实际上是一个不同于单元测试覆盖率的抽象层,单元测试覆盖率覆盖了执行的代码行。您可能更关心真正的黑盒测试中用例的覆盖率。

但是,如果您无论如何都在寻找代码覆盖率(并且肯定有您可能想要这样做的原因),那么如果您有权访问服务器来设置测试场景,那么看起来您应该能够使用 coverage.py。您将需要实现一种方法来结束 django 进程,以允许 coverage.py 编写覆盖率报告。

From: https://coverage.readthedocs.io/en/coverage-4.3.4/howitworks.html#execution

"At the end of execution, coverage.py writes the data it collected to a data file"

这表明 python 进程必须自然完成。手动终止进程也会移除阻止写入的 coverage.py 包装器。

结束django的一些想法:stop django command using sys.exit()

参见: https://docs.djangoproject.com/en/1.10/topics/testing/advanced/#integration-with-coverage-py

关于python - django 测试覆盖率与黑盒测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21522103/

相关文章:

python - Pytest:请求 fixture 的嵌套使用

python - 如何在 Odoo 报告中以印度卢比格式打印 amount_to_text。?

javascript - Python:Selenium 模拟 onclick

django - 保存相关模型对象

ios - testflightapp.com,它是如何工作的,我可以假设它是安全的并且工作时间更长吗?

python - 添加到一类列表

python - 如何将图像保存在用户指定的目录中?

Django 没有对 {% url %} 中的 View 进行反向匹配

ruby-on-rails - 测试失败 : association id should be mandatory

android - 如何使用 Espresso 测试由 TaskStackBuilder 生成的 PendingIntent