有没有办法为我的站点模板生成一份包含django测试套件中的代码覆盖率的报告?我已经有了关于python的报道,但是用于识别已死或未测试的模板代码的模板的报道将是非常棒的。
需要说明的是:我希望在我的模板中找到在测试套件期间从未执行或发出的行。
发布于 2012-06-10 21:18:23
看看Django模板复盖工具:https://github.com/traff/dtcov,它能做你需要的事情。
编辑: Django模板覆盖率作为插件合并到coverage.py:http://nedbatchelder.com/blog/201501/coveragepy_for_django_templates.html
建议使用它,而不是原来的工程。
发布于 2012-03-08 21:09:36
模板不像python源代码那样存储任何类型的行号信息。您可以做的最好的事情就是修补NodeList对象,以记录每个节点被评估的次数,然后以一种特殊的模式重新呈现模板,该模式将显示哪些节点被评估。
编辑:我已被更正。
模板确实存储行号信息,但仅用于标记的开头。也就是说,如果你有一个跨越多行的TextNode,你将需要自己处理它。django.templates.debug中有一些有趣的代码,它们可能对构建这样的报道报告器很有用。
发布于 2012-03-15 22:00:08
我不认为你可以从模板中获得覆盖率信息,但你可以通过连接template_rendered signal来找出哪些模板是被呈现的。您的接收器将存储呈现的模板的名称。
然后,您可以很容易地找出哪些模板是使用命令呈现的,而不是呈现的。
https://stackoverflow.com/questions/9613759
复制相似问题