按照Ned Batchelder的Coverage.py for Django templates博客文章和django_coverage_plugin插件来测量Django模板的代码覆盖率。
我真的很想看到模板覆盖率报告,但问题是 - 我们已经通过coffin
adapter用jinja2
替换了Django的模板引擎。我知道不推荐,但我们有理由。基本上,我们使用的不是Django的render_to_response()
:
from coffin.shortcuts import render_to_response
目前,我们正在使用django-coverage
的test_coverage
command来运行覆盖范围的测试:
python manage.py test_coverage project_name
我知道设置并不常见。但是,是否可以使用coverage.py收集jinja2
模板的代码覆盖率指标?如果没有,我会很感激您制作类似于django_coverage_plugin
的插件的任何想法,但感谢jinja2
。
答案 0 :(得分:10)
coverage.py中的插件支持仍处于alpha状态。我已经实现了Django模板支持和一半的Mako支持。一个Jinja插件将不胜感激。它可能需要在Jinja中进行更改以使其可行,特别是将已编译的Python代码执行映射回模板行号。
如果你想开始工作,请阅读coverage.py源代码中plugin.py中的接口(当然,我最终会编写真正的文档)。 Mako插件的来源也可能有所帮助:https://bitbucket.org/ned/coverage-mako-plugin
这可能会让我们共同努力克服困难。给我发电子邮件! :)
感谢您接受它!
更新:我已经为插件编写了一些文档,但还需要更多:http://coverage.readthedocs.org/en/coverage-4.0a4/plugins.html