gpt4 book ai didi

Django:测试模板是否继承了正确的模板

转载 作者:行者123 更新时间:2023-12-04 01:51:18 25 4
gpt4 key购买 nike

在 django 中你可以测试你的 View 是否呈现正确的模板,就像这样

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

但是,如果您想测试所使用的模板是否从正确的模板扩展/继承,该怎么办。

最佳答案

正如@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')
]

模板/模板.html

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

应用程序/测试.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 个测试都通过了

关于Django:测试模板是否继承了正确的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39825769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com