Есть ли способ создать отчет, содержащий покрытие кода в моем наборе тестов django для шаблонов моего сайта? У меня уже есть покрытие для python, но покрытие для шаблонов для выявления мертвого или непроверенного кода шаблона было бы потрясающим.
Чтобы уточнить: я хочу найти в своих шаблонах строки, которые никогда не выполняются и не генерируются во время моего набора тестов.
Ответ 2 · рейтинг 1 · Thomas
Шаблоны не хранят никакой информации о номерах строк, в отличие от исходного кода Python. Лучшее, что вы могли сделать, - это обезьяна исправить объект NodeList, чтобы записать, сколько раз каждый узел был оценен, а затем повторно отрендерить шаблоны в специальном режиме, который покажет, какие узлы оцениваются.
РЕДАКТИРОВАТЬ: я был исправлен.
Шаблоны ДОЛЖНЫ хранить информацию о номерах строк, но только для начала токена. I.E. если у вас есть TextNode, охватывающий несколько строк, вам нужно будет справиться с этим самостоятельно. В django.templates.debug есть интересный код, который может быть полезен для создания такого репортера покрытия.
Ответ 3 · jpic
Я не думаю, что вы можете получить информацию о покрытии из шаблонов, но вы можете узнать, какие шаблоны отображаются, подключив template_rendered сигнал. Ваш приемник будет хранить имена визуализированных шаблонов.
Затем вы можете легко узнать, какие шаблоны не отображаются с помощью команды find.