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 相关文章推荐
Windows和Linux下使用Python访问SqlServer的方法介绍
Mar 10 Python
利用Python的Django框架中的ORM建立查询API
Apr 20 Python
Python封装shell命令实例分析
May 05 Python
Flask解决跨域的问题示例代码
Feb 12 Python
python去重,一个由dict组成的list的去重示例
Jan 21 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
Apr 02 Python
python 判断linux进程,并杀死进程的实现方法
Jul 01 Python
python数据预处理之数据标准化的几种处理方式
Jul 17 Python
django 使用全局搜索功能的实例详解
Jul 18 Python
pycharm安装及如何导入numpy
Apr 03 Python
Python如何使用PIL Image制作GIF图片
May 16 Python
Selenium 配置启动项参数的方法
Dec 04 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 HTML代码串截取代码
2008/12/29 PHP
PHP Undefined index报错的修复方法
2011/07/17 PHP
php使用curl访问https示例分享
2014/01/17 PHP
php判断数组中是否存在指定键(key)的方法
2015/03/17 PHP
php实现多站点共用session实现单点登录的方法详解
2019/09/18 PHP
比较详细的关于javascript中void(0)的具体含义解释
2007/08/02 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
2014/01/02 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
Javascript面试经典套路reduce函数查重
2017/03/23 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
让bootstrap的carousel支持滑动滚屏的实现代码
2017/11/27 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
js实现鼠标切换图片(无定时器)
2021/01/27 Javascript
[01:07]DOTA2次级职业联赛 - Fpb战队宣传片
2014/12/01 DOTA
[00:02]DOTA2新版本使用PA至宝后暴击展示
2014/11/19 DOTA
Python实现线程池代码分享
2015/06/21 Python
Python 正则表达式实现计算器功能
2017/04/29 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
python3.x实现base64加密和解密
2019/03/28 Python
利用jupyter网页版本进行python函数查询方式
2020/04/14 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
python 实现"神经衰弱"翻牌游戏
2020/11/09 Python
环境工程与管理大学毕业生求职信
2013/10/02 职场文书
做一个有道德的人活动方案
2014/08/25 职场文书
杨善洲观后感
2015/06/04 职场文书
太行山上观后感
2015/06/05 职场文书
感恩父母主题班会
2015/08/12 职场文书
Redis集群的关闭与重启操作
2021/07/07 Redis
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript
Python可视化学习之seaborn调色盘
2022/02/24 Python