2016-10-03 2 views
1

В Джанго Вы можете проверить погоду ваш взгляд оказывает правильный шаблон, как этотДжанго: Тестирование, если шаблон наследуется правильный шаблон

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

, но что, если вы хотите, чтобы проверить, если используется шаблон расширения/наследовании от правильного шаблона.

+1

Это еще assertTemplateUsed – 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') 

Все 2 испытания прошли

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