0
点赞
收藏
分享

微信扫一扫

重构jdango代码

精进的医生 2022-02-19 阅读 40

https://blog.csdn.net/sevensolo/article/details/96611992
tests.py

'''from django.test import TestCase

# Create your tests here.
class Smokeclass(TestCase):
    def test_bad_maths(self):
        self.assertEquals(1+1,3)'''''
from  django.urls import  resolve
from  django.test import  TestCase
from lists.views import  home_page
from django.http import  HttpRequest
class HomePageTest(TestCase):
    def test_root_url_resolve_to_home_page_view(self):
        found=resolve('/')
        # resolve函数是django内部使用的函数,用于解析url,
        # 并且将其映射到相应的视图函数上,检查网站根路径时"/",
        # 是否能找到home_page函数
        self.assertEquals(found.func,home_page)
    def test_home_page_returns_correct_html(self):
        request=HttpRequest()
        # 创建httprequest对象,用户在浏览器中请求网页时
        # django看到的就是httprequest对象

        response=home_page(request)
        # 把对象传给home_page视图

        html=response.content.decode('utf8')
        # 提取content,得到结果是原始的字节,即发个用户
        # 浏览器的0和1,随后调用.decode(),把原始字节
        # 转换成发给用户的html字符串

        self.assertTrue(html.startswith('<html>'))

        self.assertIn('<title>To-Do lists</title>',html)

        self.assertTrue(html.endswith('</html>'))
    def test_home_page_returns_correct_html_chonggou(self):
        response=self.client.get('/')
        html = response.content.decode('utf8')
        # 提取content,得到结果是原始的字节,即发个用户
        # 浏览器的0和1,随后调用.decode(),把原始字节
        # 转换成发给用户的html字符串

        self.assertTrue(html.startswith('<html>'))

        self.assertIn('<title>To-Do lists</title>', html)

        self.assertTrue(html.endswith('</html>'))
        self.assertTemplateUsed(response,'home.html')


在这里插入图片描述
在这里插入图片描述

views.py

from django.shortcuts import render
from  django.http import  HttpResponse
# Create your views here.
'''def home_page(request):
    return  HttpResponse('<html><title>To-Do lists</title></html>')'''
from django.shortcuts import render
def home_page(request):
    return render(request,'home.html')


举报

相关推荐

0 条评论