2016-10-03 10 views
1

を継承している場合は、このジャンゴ:テンプレートは、あなたのビューを乗り切るテストすることができますジャンゴでは正しいテンプレート

def test_view_renders_correct_template(self): 
     response = self.client.get("/some/url/") 
     self.assertTemplateUsed(response, 'template.html') 

が、何を使用したテンプレートが拡張されたかどうかをテストする場合のように、正しいテンプレートをレンダリングしているテスト/継承正しいテンプレートから

+1

を通過したすべてのテスト2 – e4c5

答えて

3

@ e4c5と同じように、それはassertTemplateUsedと同じです。

はちょうどそれをテストした:

アプリ/ views.py

from django.shortcuts import render_to_response 


def base_index(request): 
    return render_to_response('base.html') 


def template_index(request): 
    return render_to_response('template.html') 

アプリ/ urls.py

from django.conf.urls import url 

from . import views 

urlpatterns = [ 
    url(r'^base$', views.base_index, name='base'), 
    url(r'^template$', views.template_index, name='template') 
] 

テンプレート/ template.html

{% extends 'base.html' %} 
{% block content %} 
    <div>help</div> 
{% endblock %} 

アプリ/ tests.py

from django.test import TestCase 


class TemplateTest(TestCase): 
    def test_base_view(self): 
     response = self.client.get('/base') 
     self.assertTemplateUsed(response, 'base.html') 
     self.assertTemplateNotUsed(response, 'template.html') 

    def test_template_view(self): 
     response = self.client.get('/template') 
     self.assertTemplateUsed(response, 'template.html') 
     self.assertTemplateUsed(response, 'base.html') 

それはまだassertTemplateUsedだ

関連する問題