Python中DJANGO简单测试实例


Posted in Python onMay 11, 2015

本文实例讲述了Python中DJANGO简单测试的用法。分享给大家供大家参考。具体如下:

这里以facebook台湾的测试版为例。

仅仅测试用户登录,主要说明测试的使用和django环境的设置。

代码如下:

import os
import sys
import unittest
import hashlib
TEST_MEMBER_ID = 11
SNS_ID = 100002309745702
TEST_SESSION_KEY = '125737724171219|2.AQCp7ctCYXJh4ooW.3600.1310022000.1-100002309745702|qj4000WhhKWGtApOI0icEpzSyZ8' # Need to get from sns platform
SIGNED_REQUEST = 'hoIhyhOT7rLoOaxlJwDoGYIv6-qZizL3q9mbVJkJQJA.eyJhbGdvcml0aG0iOiJITUFDLVNIQTI1NiIsImV4cGlyZXMiOjEzMTAwMjIwMDAsImlzc3VlZF9hdCI6MTMxMDAxNzg5MCwib2F1dGhfdG9rZW4iOiIxMjU3Mzc3MjQxNzEyMTl8Mi5BUUNwN2N0Q1lYSmg0b29XLjM2MDAuMTMxMDAyMjAwMC4xLTEwMDAwMjMwOTc0NTcwMnxxajQwMDBXaGhLV0d0QXBPSTBpY0VwelN5WjgiLCJ1c2VyIjp7ImNvdW50cnkiOiJ1cyIsImxvY2FsZSI6ImVuX1VTIiwiYWdlIjp7Im1pbiI6MjF9fSwidXNlcl9pZCI6IjEwMDAwMjMwOTc0NTcwMiJ9'
class LoginTestCase(unittest.TestCase):
  def setUp(self):
    # Set up django environment
    pathname = os.path.dirname(sys.argv[0])
    sys.path.append(os.path.abspath(pathname))
    sys.path.append(os.path.normpath(os.path.join(os.path.abspath(pathname), '../')))
    os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
    from django.http import HttpRequest
    self.request = HttpRequest()
    from django.contrib.sessions.backends.cache import SessionStore
    self.request.session = SessionStore()
    self.request.session[hashlib.md5(TEST_SESSION_KEY).hexdigest()] = TEST_MEMBER_ID
    self.request.session.save()
    self.request.POST = {'signed_request':SIGNED_REQUEST}
  def tearDown(self):
    pass
  def testloginFromWeb(self):
    # login without session key
    from django.conf import settings
    from platforms.login.login_facebook_tw import login_from_web
    res = login_from_web(self.request)
    self.assertEqual(res.status_code, 200)
    self.assertEqual(res.items(), [('Content-Type', 'text/html; charset=utf-8')])
    self.assertTrue(settings.SNS_URL in res.content)
    self.assertTrue(settings.MEDIA_URL in res.content)
    # Check member
    from apps.members.models import Member
    from apps.members.helper import login_sns_user
    member = login_sns_user(self.request, TEST_SESSION_KEY)
    member_db = Member.objects.get(id=TEST_MEMBER_ID)
    self.assertEqual(member, member_db)
if __name__ == '__main__':
  unittest.main()

其他可以类推。

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python中字典和JSON互转操作实例
Jan 19 Python
python中__call__内置函数用法实例
Jun 04 Python
python3.4用函数操作mysql5.7数据库
Jun 23 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
Jan 17 Python
Python使用re模块实现信息筛选的方法
Apr 29 Python
Python使用progressbar模块实现的显示进度条功能
May 31 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
python实现最大优先队列
Aug 29 Python
Transpose 数组行列转置的限制方式
Feb 11 Python
python_mask_array的用法
Feb 18 Python
解决Python 写文件报错TypeError的问题
Oct 23 Python
python openCV自制绘画板
Oct 27 Python
python单元测试unittest实例详解
May 11 #Python
Python使用MYSQLDB实现从数据库中导出XML文件的方法
May 11 #Python
Python生成不重复随机值的方法
May 11 #Python
Python解析nginx日志文件
May 11 #Python
Python字符串替换实例分析
May 11 #Python
Python使用django获取用户IP地址的方法
May 11 #Python
总结Python编程中三条常用的技巧
May 11 #Python
You might like
浅析PHP中Collection 类的设计
2013/06/21 PHP
PHP5.5在windows安装使用memcached服务端的方法
2014/04/16 PHP
yii框架通过控制台命令创建定时任务示例
2014/04/30 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
2015/01/29 Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
2015/12/01 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
Vuex模块化实现待办事项的状态管理
2017/03/15 Javascript
详解基于vue-cli优化的webpack配置
2017/11/06 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
微信小程序自定义弹窗wcPop插件
2018/11/19 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
[48:46]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第二场 11.19
2020/11/19 DOTA
python re正则表达式模块(Regular Expression)
2014/07/16 Python
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
Python三级目录展示的实现方法
2016/09/28 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
Python爬虫实例扒取2345天气预报
2018/03/04 Python
python如何将图片转换为字符图片
2020/08/19 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
2018/06/04 Python
python cs架构实现简单文件传输
2020/03/20 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
python 利用matplotlib在3D空间中绘制平面的案例
2021/02/06 Python
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
SEPHORA丝芙兰捷克官网:购买香水、化妆品和护肤品
2018/11/26 全球购物
英国婴儿产品专家:Samuel Johnston
2020/04/20 全球购物
安全生产责任书
2014/03/12 职场文书
地陪导游欢迎词
2015/01/26 职场文书
MongoDB数据库的安装步骤
2021/06/18 MongoDB