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实现多行注释的另类方法
Aug 22 Python
使用wxPython获取系统剪贴板中的数据的教程
May 06 Python
Python的Django框架中URLconf相关的一些技巧整理
Jul 18 Python
Python基于动态规划算法计算单词距离
Jul 25 Python
python+opencv实现的简单人脸识别代码示例
Nov 14 Python
python生成不重复随机数和对list乱序的解决方法
Apr 09 Python
python2与python3的print及字符串格式化小结
Nov 30 Python
python实现windows倒计时锁屏功能
Jul 30 Python
django框架ModelForm组件用法详解
Dec 11 Python
TensorFlow实现打印每一层的输出
Jan 21 Python
PyQT5速成教程之Qt Designer介绍与入门
Nov 02 Python
Python就将所有的英文单词首字母变成大写
Feb 12 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字符串截取问题
2006/11/28 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
JS target与currentTarget区别说明
2011/08/28 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
Textarea输入字数限制实例(兼容iOS&安卓)
2017/07/06 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
vue仿element实现分页器效果
2018/09/13 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
解决vue 界面在苹果手机上滑动点击事件等卡顿问题
2018/11/27 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
2020/07/20 Javascript
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
python实现Floyd算法
2018/01/03 Python
python实现聊天小程序
2018/03/13 Python
用Python写一段用户登录的程序代码
2018/04/22 Python
解决python3 Pycharm上连接数据库时报错的问题
2018/12/03 Python
python移位运算的实现
2019/07/15 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
2019/10/30 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
Python requests设置代理的方法步骤
2020/02/23 Python
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
2015/11/10 面试题
数控专业个人求职信范例
2013/11/29 职场文书
论文指导教师评语
2014/04/28 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
2014年社区工作总结
2014/11/18 职场文书
奖学金感谢信
2015/01/21 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
导游词之潮音寺
2019/09/26 职场文书
python自动化调用百度api解决验证码
2021/04/13 Python
MySQL 百万级数据的4种查询优化方式
2021/06/07 MySQL
Python调用腾讯API实现人脸身份证比对功能
2022/04/04 Python