《Python web 开发 测试驱动方法》学习笔记
完整代码地址:https://github.com/a523/TDD_django
第一部分
怎么测试视图函数传入正确的值渲染模板?
from django.template.loader import render_to_string
render_to_string 函数可以渲染模板,然后拿它的返回值和视图函数的返回的HTML比较。
from django.http import HttpRequest
HttpRequest 可以构造request类
然后把这个request类做参数传给视图函数,如:
def test_home_page_can_save_a_POST_request(self):
request = HttpRequest()
request.method = "POST"
request.POST['item_text'] = 'A new list item'
response = home_page(request)
self.assertIn('A new list item', response.content.decode())
expected_html = render_to_string(
'home.html',
{'new_item_text': 'A new list item'}
)
self.assertEqual(response.content.decode(), expected_html)