目前进度
第6章的内容比较长,所以拆分成了若干个小节说明,以下为当前进度:
确保功能测试之间相互隔离
解决页面刷新延迟
使用TDD 实现新设计
逐步迭代,实现新设计
使用Django测试客户端一起测试视图、模板和URL
用于添加待办事项的URL和视图
调整模型
每个列表都应该有自己的URL

(html comment removed: more)
内容介绍
- 给列表自己的URL
- 更新测试
- 测试一下
- 捕获URL
- 更新视图文件
- 再次更新视图
- 测试修改成果
- 按照设计调整new_list视图
- 进行功能测试
给列表自己的URL
给每个列表自己的URL就是需要有唯一的标识符,比如数据库的id字段
更新测试
vi lists/tests.py

把test_displays_all_items修改成 test_displays_only_items_for_that_list
测试一下
测试一下,应该会有404出现
python manage.py test lists
#
AssertionError: 404 != 200 : Couldn t retrieve content: Response code was 404
(expected 200)
捕获URL
把URL传入视图
vi superlists/urls.py

调整URL中的正则表达式,加入捕获组,匹配 "/"后的任意字符,传入视图
继续测试
python manage.py test lists
#
TypeError: view_list() takes 1 positional argument but 2 were given
更新视图文件
vi lists/views.py
def view_list(request, list_id):
再次更新视图
再次测试, 报错有了变化
python manage.py test lists
#
AssertionError: 1 != 0 : Response should not contain 'other list item 1'
报警符合预期,把代办事项传入模板
vi lists/views.py

测试修改成果
再测试一下
python manage.py test lists
#
ERROR: test_redirects_after_POST (lists.tests.NewListTest)
ValueError: invalid literal for int() with base 10:
'the-only-list-in-the-world'
按照设计调整new_list视图
修改测试
vi lists/tests.py

检查是否定义到新URL
测试之后发现仍然报错,再修改一下
vi lists/tests.py
重定向到有效地址

再次测试通过
进行功能测试
python manage.py test functional_tests
#
AssertionError: '2: Use peacock feathers to make a fly' not found in ['1: Use
peacock feathers to make a fly']
功能测试还是有故障,下节再修复
预告
今天的内容也差不多了,下次会再调整一下视图文件,敬请期待
时间过的飞快,下节再见
