博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实现待办事项网站回顾
阅读量:6691 次
发布时间:2019-06-25

本文共 1158 字,大约阅读时间需要 3 分钟。

1. 测试驱动开发

    想要做什么,写成一个一个的用户故事。故事的内容 尽量是语言能够表达的用户操作的每一步.

 比如: 打开网页,输入网址,看到什么元素,元素中有什么内容。要给该元素输入什么,Enter之后期望得到什么。关闭网页等。

    功能测试,可以用 Django提供的 LiveServerTestCase,这样就省去了每次测试完后需要清数据库的麻烦。

 

2. 单元测试驱动功能开发

    功能测试完成后,进行的每一步开发,都要有单元测试的跟踪。单元测试是从程序员的角度考虑问题的。所以单元测试测试的着重点是 每个页面的视图函数的后台功能测试。比如能解析首页url了。首页的输入应该在数据库中创建什么了。数据之间的关系了。等等。

   单元测试中,主要用到了很多Django API操作。数据库操作。建议使用的是 Django提供的 (from django.test import )TestCase.已经测试客户端. self.client. get,self.client.post 可以模仿浏览器发请求。得到的response是render之前的response上下文。template中的变量都在其中。

 

3. url 整理。

   建议每个应用都有自己的url。然后在project的url文件中进行include。便于管理

4. get 到的新技能和api

   from django.core.urlresolvers import resolve

from django.test import TestCase
from django.http import HttpRequest
from django.template.loader import render_to_string

   found = resolve("/")   # 返回的是视图函数

   self.assertEqual(found.func,home_page)
       

  render_to_string('home_page.html',request=request)  #将一个template render成 string

 测试客户端返回的response 可以

 self.assertRedirects(response,'/Lists/%d/' %(correct_list.id,))

 

  template for

   {% for new_item_text in list.item_set.all %}

                <tr><td>{
{ forloop.counter}}: {
{new_item_text.text}}</td></tr>
            {% endfor %}

转载于:https://www.cnblogs.com/ahMay/p/8721070.html

你可能感兴趣的文章
虚拟机VMBox的空间扩展和对加载进来资源的扩展
查看>>
《结对-结对编项目作业名称-需求分析》
查看>>
iView3.x Anchor(锚点)组件 导航锚点
查看>>
Network --- Tcp Protocol
查看>>
sqlite效率探测
查看>>
React生命周期
查看>>
数据库 -- mysql表操作
查看>>
C++ 11 nullptr关键字
查看>>
shutil 高级文件操作
查看>>
Itellij Idea全局搜索
查看>>
Android系统简介
查看>>
配置证书
查看>>
Oracle VM VirtualBox技巧
查看>>
uvm_svcmd_dpi——DPI在UVM中的实现(二)
查看>>
Crimm Imageshop 2.3。
查看>>
SQL AND和OR求值顺序
查看>>
买房必知的五大法律常识 助你安心顺利选房
查看>>
leetcode563
查看>>
剑指Offer 40 最小的k个数
查看>>
plsql developer 连接数据库 转!!
查看>>