For Development
1) git clone git@github.com:alecchyi/DjDemo.git
2) cd DjDemo
3) update database settings
3) python manage.py syncdb
4) python manage.py runserver 0.0.0.0:8000
For Testing in unittest
1. create tests.py in your app, such as core/tests.py
But the pre-condition is you have a models.py
2. add test code in tests.py
1)测试登录表单
import LoginForm
f = LoginForm({}) #表单数据为空
使用f.is_valid() 判断表单是否有效
f = LoginForm({'username':'aaaa', 'password': '123456'}) #数据正常的情况
self.assertTrue(f.is_valid(),"输入的信息有误")#如果表单数据有效,f,is_valid()返回True
f = LoginForm({'username':'aaaa111111111111111111', 'password': '123456'}) #用户名输入长度过长的情况
如果表单数据有效,f,is_valid()返回False
self.assertFalse(f.is_valid(),"输入的用户名长度过长")
2)测试模型操作
t = {'username': "teacher_01", 'password': '12345611111111111111111111111111111111111111111111111122222222222222222222222222', 'status':0}
with self.assertRaises(Exception): #验证字段长度
Member.objects.get_or_create(**t)
with self.assertRaises(Exception):
Member.objects.get(username='teacher_01')
members = Member.objects.all()
self.assertEqual(members.count(), 1, "count is 1")
3)测试登录逻辑
from django.test.client import Client
c = Client()
response = c.post("/login",{'username':'ruby', 'password': '123456'})
self.assertEqual(response.status_code, 200) #测试通过
4)测试http请求和http响应
from django.test.client import Client
c = Client()
response = c.get("/detail",{'xxxx':'eeeee'})
self.assertEqual(response.content,'yyyy') #如果请求的方法是get,判断返回的结果是否正确
self.assertEqual("yyy",response.context["key"]) #如果页面是render新的模板,并且有传递数据变量,可以使用这个判断
3. run test command
cd project_dir && python manage.py test app_name #测试对应app的所有脚本
python manage.py test core.tests.UserTest.test_login_request #执行测试某个具体的功能
4. add fixtures data in tests.py
tests.py 的测试类是基础django.test.TestCase,所以会有一些继承的方法,比如
setUp: 可以把一些测试数据定义在这里
tearDown:测试完成销毁测试数据
5. add log info in test code
import logging
logger = logging.getLogger("django")
logger.debug("xxxxxxx")
cat logs/debug.log
6. custom assert function
assert_xxx_xxxx()
refs:
http://searchcode.com/codesearch/view/2290327
http://docs.python.org/2.7/library/unittest.html#unittest.TestCase
相关推荐
django环境测试前端代码django环境测试前端代码django环境测试前端代码django环境测试前端代码django环境测试前端代码django环境测试前端代码django环境测试前端代码django环境测试前端代码django环境测试前端代码...
Python web项目Django搭建项目demoPython web项目Django搭建项目demoPython web项目Django搭建项目demoPython web项目Django搭建项目demo
django demo项目
用django搭建的一个博客实例,简单易懂
根据书本引导构建的一个Django Blog Demo,加上自己的一些改进和优化,还很简陋。主要为引导用户熟悉Django的流程,以及运作原理。
配合我的博客学习python_Django,学Django这个博客就够了
通过对Django REST framework内置方法的重写,实现自己想要的功能,比如加上接口描述,自定义分页,菜单等等
Django项目开发一个小型Demo,从sqllite一步一步的简单教程,代码既有前端,也有后端代码,结构清晰易懂,稍微有一点基础的人很快就可以看懂,希望对需要的人有帮助
H5和Native无缝调用的Hybrid框架,Django实现的Demo页面
django-demodjango-demodjango-demodjango-demodjango-demodjango-demo
这是一个Django的一个小例子,刚开始学习的,可以参考一下。
主要介绍了Django单元测试中Fixtures用法,通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
希望能帮到需要的人
一些框架基本知识测试 对于新手上手快 简单测试 Django框架
主要介绍了Django单元测试中Fixtures用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
一个完整的django项目,打包压缩文件,nginx+uwsgi+djang 部署项目!欢迎拿走一起学习!
djet, Django 扩展测试是一个帮助器,用于轻松测试 Django 应用程序 djet Django 扩展测试是一组帮助程序,可以...主要功能:简单的Django 视图单元测试( ViewTestCase )有用的断言提供了混合类:响应状态码( Status
Django项目测试实战代码
主要介绍了Django单元测试工具test client使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
python课程设计基于Django的学生心理测试系统源码+数据库。获老师指导已通过的高分项目。python课程设计基于Django的学生心理测试系统源码+数据库。获老师指导已通过的高分项目。python课程设计基于Django的学生心理...