2015-01-19 13 views
8

Po poście Ned Batchelder o numerze Coverage.py for Django templates i wtyczce django_coverage_plugin do pomiaru zasięgu kodu szablonów Django.Pokrycie kodu dla szablonów jinja2 w Django

Bardzo chciałbym zobaczyć raporty o pokryciu szablonów, ale problem polega na tym, że zastąpiliśmy Django silnikiem szablonów numerem jinja2 poprzez coffin adapter. Wiem, że nie jest to zalecane, ale mieliśmy powody. Zasadniczo, zamiast Django render_to_response() używamy:

from coffin.shortcuts import render_to_response 

Obecnie używamy django-coverage „s test_coverage command aby uruchomić testy z zakresu:

python manage.py test_coverage project_name 

Rozumiem, że konfiguracja nie jest powszechne. Ale czy można zebrać metryki pokrycia kodu dla szablonów jinja2 za pomocą coverage.py? Jeśli nie, byłbym wdzięczny za wszelkie pomysły dotyczące tworzenia wtyczki podobnej do wtyczki django_coverage_plugin, ale w przypadku jinja2.

+2

dlaczego pytasz tutaj zamiast wysyłać mi e-mail jak wspomniałem w blogu? :) –

+4

@NedBatchelder bo wiem, że jesteś w pobliżu i zauważysz post :) Poza tym może być przydatny dla innych. – alecxe

Odpowiedz

10

Obsługa wtyczek w zasięgu.py jest nadal w stanie alfa. Zaimplementowałem obsługę szablonów Django i połowę obsługi Mako. Plugin Jinja byłby doceniony. Może wymagać zmian w Jinja, aby było to możliwe, w szczególności, aby odwzorować skompilowane wykonanie kodu Pythona z powrotem na numery linii szablonu.

Jeśli chcesz rozpocząć pracę nad tym, przeczytaj interfejsy w plugin.py w źródle coverage.py (oczywiście napiszę prawdziwe dokumenty). Źródło wtyczki Mako może również pomóc: https://bitbucket.org/ned/coverage-mako-plugin

Będzie to prawdopodobnie wiązało się z podjęciem współpracy, aby ominąć trudne części. Napisz do mnie e-mail! :)

Dzięki za wzięcie!

Aktualizacja: Pisałem kilka docs dla wtyczek, choć bardziej potrzebne są: http://coverage.readthedocs.org/en/coverage-4.0a4/plugins.html

Powiązane problemy