2015-01-19 2 views
8

Следующее сообщение Ned Batchelder's Coverage.py for Django templates и плагин django_coverage_plugin для измерения покрытия кода шаблонами Django.Покрытие кода для шаблонов jinja2 в Django

Мне бы очень хотелось увидеть отчеты о покрытии шаблонов, но проблема в том, что мы заменили механизм шаблонов Django на jinja2 через coffin adapter. Я знаю, что это не рекомендуется, но у нас были причины. В принципе, вместо Джанго render_to_response() мы используем:

from coffin.shortcuts import render_to_response 

В настоящее время мы используем django-coverage «ы test_coverage command для выполнения тестов с покрытием:

python manage.py test_coverage project_name 

Я понимаю, что установка не является распространенным явлением. Но можно ли собирать метрики покрытия кода для шаблонов jinja2 с покрытием.py? Если нет, я был бы признателен за любые идеи по созданию плагина, подобного django_coverage_plugin, но для jinja2.

+2

почему вы спрашиваете здесь вместо того, чтобы посылать мне по электронной почте, как я уже упоминал в блоге? :) –

+4

@NedBatchelder причина, я знаю, что вы рядом и заметили сообщение :) Кроме того, это может быть полезно для других. – alecxe

ответ

10

Поддержка плагинов в покрытии .py все еще находится в альфа-состоянии. Я реализовал поддержку шаблона Django и половину поддержки Mako. Плагин Jinja был бы оценен. Возможно, в Jinja потребуются изменения, чтобы сделать возможным, в частности, сопоставить скомпилированный код кода Python с номерами строк шаблонов.

Если вы хотите начать работать над этим, прочитайте интерфейсы в plugin.py в источнике покрытия.py (я, в конечном счете, буду писать реальные документы). Источником плагина Mako может также помочь: https://bitbucket.org/ned/coverage-mako-plugin

Это, вероятно, потребует от нас совместной работы, чтобы пройти мимо грубых деталей. Бросьте мне письмо! :)

Спасибо, что приняли его!

Обновлено: Я написал некоторые документы для плагинов, хотя необходимы более: http://coverage.readthedocs.org/en/coverage-4.0a4/plugins.html

Смежные вопросы