新的工具 - yann学长的运维开发指南40

in #devops8 years ago

大纲

第6章的内容还是比较激动的,在这个章节里会完成一个可用的网站
加上域名就可以对外展示的那种

http://www.iamyann.com/images/0619/20180619175618.png
(html comment removed: more)

内容介绍

  • 新的工具
  • 新建测试类
  • 配置新的URL
  • 建立新的视图
  • 再次更新
  • 测试通过?
  • 重新审视代码

新的工具

之前的测试代码比较繁琐,需要检查URL解析,检查视图函数及模板渲染

这里介绍一个新的工具,来替代上述三种检查,虽然新工具一定会有新的问题,先用起来

新建测试类

vi lists/tests.py

http://www.iamyann.com/images/0619/20180619171859.png

配置新的URL

测试新写的测试类

python manage.py test lists

AssertionError: 404 != 200

设置的唯一URL还不存在,自己设定一下

vi superlists/urls.py

http://www.iamyann.com/images/0619/20180619172403.png

增加一条路由匹配

建立新的视图

再次测试

python manage.py test lists

AttributeError: module 'lists.views' has no attribute 'view_list'

建了匹配没有给对应的视图,自己设定一下

vi lists/views.py
def view_list(request):
    pass

最简单的试图

再次更新

再运行一下测试

python manage.py test lists

It returned None instead. FAILED (errors=1)

把视图函数补完,先借用home页面

vi lists/views.py

http://www.iamyann.com/images/0619/20180619173659.png

测试通过?

单元测试通过

python manage.py test lists

Ran 7 tests in 0.016s
OK

再试一下功能测试

python manage.py test functional_tests

FAIL: test_can_start_a_list_for_one_user

依然失败

重新审视代码

暂时没有很好的办法,重看下之前的代码
然后发现了一个问题

vi lists/templates/home.html
(html comment removed:  <form method="POST"> )
<form method="POST" action="/">  

在表单里,action表示提交后的跳转动作,之前一直没有写,也就没跳转orz

再次测试一下

python manage.py test functional_tests

FAIL: test_multiple_users_can_start_lists_at_different_urls

回到了之前的状况,下次可以深入改造了

预告

时间过的飞快,下节再见

http://hero.iamyann.com/blog_webchat.jpg