发布于2019-08-22 17:59 阅读(912) 评论(0) 点赞(14) 收藏(5)
使用Django自带的单元测试模块可以对models 和views进行快速测试
from django.test import TestCase, override_settings
from .models import User
class UserTest(TestCase):
def setUp(self): # 初始化,创建测试数据
User.objects.create(name='fei', age=1)
@override_settings(DEBUG=False) # 装饰器用于重写配置文件中的相关变量
def test_model(self): # models测试
user = User.objects.filter(name='fei')[0]
self.assertEqual(user.age, 1) # 断言,判断是否相等
def test_get(self): # views测试,get请求
response = self.client.get('/user/', {'name': 'fei'}) # 模拟客户端发送get请求
self.assertEqual(response.status_code, 200, 'user-get測試失敗')
print(response.json()) # 输出响应得到的JSON数据
def test_post(self): # views测试,post请求
params = {
'name': 'fei',
'age': 20,
}
response = self.client.post('/user/', params) #模拟客户端发送post请求
self.assertEqual(response.status_code, 200, 'user-post測試失敗')')
>> python manage.py test # 运行所有的单元测试
>> python manage.py test user # 只运行user下的单元测试
>> python manage.py test --keepdb # 保留测试数据库,可以提高测试代码的运行效率
>> python manage.py test --setting settings_test -v3 # -v {1,2,3} 数字越大,显示的输出越详细,测试的日志信息
response.status_code # 响应状态码
response.content() # 响应体
response.context() # 响应文本
response.json() # 响应得到的json数据
def init_client(user):
client = Client()
s = client.session
s['cur_user_id'] = user.id
s.save()
return client
def test_something(self):
session = self.client.session
session['somekey'] = 'test'
session.save()
self.assertEqual(self, first, second, msg=None) # 判断是否相等
self.assertAlmostEqual(self, first, second, places=None, msg=None,
delta=None) # 判断是否大概相等
self.assertTrue(self, expr, msg=None) # 判断是否为真
作者:38373
链接:https://www.pythonheidong.com/blog/article/53391/2b6709ca0885f2fe6b53/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!