python - Django 中 jinja2 模板的代码覆盖率

标签 python django code-coverage jinja2 coverage.py

关注 Ned Batchelder 的 Coverage.py for Django templates博客文章和 django_coverage_plugin用于测量 Django 模板代码覆盖率的插件。

我真的很想看看模板覆盖率报告,但问题是 - 我们已经通过 coffin adapter 将 Django 的模板引擎替换为 jinja2 .我知道不推荐,但我们有理由。基本上,我们使用的不是 Django 的 render_to_response():

from coffin.shortcuts import render_to_response

目前,我们正在使用 django-coveragetest_coverage command运行覆盖率测试:

python manage.py test_coverage project_name

据我所知,该设置并不常见。但是,是否可以使用 coverage.py 收集 jinja2 模板的代码覆盖率指标?如果没有,我将不胜感激关于制作类似于 django_coverage_plugin 的插件的任何想法,但适用于 jinja2

最佳答案

coverage.py 中的插件支持仍处于 alpha 状态。我已经实现了 Django 模板支持和一半的 Mako 支持。 Jinja 插件将不胜感激。它可能需要在 Jinja 中进行更改以使其可行,特别是将编译后的 Python 代码执行映射回模板行号。

如果您想开始使用它,请阅读 coverage.py 源代码中 plugin.py 中的接口(interface)(当然,我最终会编写真正的文档)。 Mako 插件的来源也可能有帮助:https://bitbucket.org/ned/coverage-mako-plugin

这可能需要我们共同努力克服困难。给我发电子邮件! :)

感谢您的参与!

更新:我已经为插件编写了一些文档,但还需要更多:http://coverage.readthedocs.org/en/coverage-4.0a4/plugins.html

关于python - Django 中 jinja2 模板的代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28034446/

相关文章:

Python 复杂查询

python - Django 中的 ModuleNotFound 错误。无法解决错误

javascript - 通过 javascript 渲染 django View

c++ - 逐步将 gcov 与 CMake 结合使用

javascript - 是否有任何用于在服务器端运行的脚本的 Javascript 代码覆盖工具(无浏览器)

javascript - jQueryparents() 选择器失败

python - 导入 geopandas 时出错

python - 在 Keras 中加载自定义正则化器

python - 你将如何优化这个简短但非常慢的 Python 循环?

c# - Azure DevOps 2019 Server 无法执行具有代码覆盖率的测试