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处理PHP数组文本文件实例
Sep 18 Python
Python实现遍历windows所有窗口并输出窗口标题的方法
Mar 13 Python
Python向日志输出中添加上下文信息
May 24 Python
Python编程之黑板上排列组合,你舍得解开吗
Oct 30 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
May 08 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
Jun 11 Python
python实现人民币大写转换
Jun 20 Python
Python中字符串与编码示例代码
May 20 Python
Python 日期区间处理 (本周本月上周上月...)
Aug 08 Python
keras在构建LSTM模型时对变长序列的处理操作
Jun 29 Python
python实现简单的tcp 文件下载
Sep 16 Python
编写python代码实现简单抽奖器
Oct 20 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和XSL stylesheets转换XML文档
2006/10/09 PHP
php入门教程 精简版
2009/12/13 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
利用PHP自动生成印有用户信息的名片
2016/08/01 PHP
php 函数中静态变量使用的问题实例分析
2020/03/05 PHP
创建一个复制UBB软件信息的链接或按钮的js代码
2008/01/06 Javascript
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
javascript 面向对象编程基础:封装
2009/08/21 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
判断复选框是否被选中的两种方法
2014/06/04 Javascript
js onmousewheel事件多次触发问题解决方法
2014/10/17 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
jquery对象和DOM对象的任意相互转换
2016/02/21 Javascript
javascript中的面向对象
2017/03/30 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
微信小程序实现图片上传、删除和预览功能的方法
2017/12/18 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
2017/12/22 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
2019/04/02 Javascript
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
[32:47]完美世界DOTA2联赛 GXR vs IO 第二场 11.07
2020/11/09 DOTA
python创建线程示例
2014/05/06 Python
粗略分析Python中的内存泄漏
2015/04/23 Python
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
pycharm新建Vue项目的方法步骤(图文)
2020/03/04 Python
python3 deque 双向队列创建与使用方法分析
2020/03/24 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
Keras模型转成tensorflow的.pb操作
2020/07/06 Python
用HTML5 实现橡皮擦的涂抹效果的教程
2015/05/11 HTML / CSS
HTML5之消息通知的使用(Web Notification)
2018/10/30 HTML / CSS
优秀德育工作者事迹材料
2014/05/07 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
培训通知
2015/04/17 职场文书
未婚证明范本
2015/06/15 职场文书