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学习手册中的python多态示例代码
Jan 21 Python
python 删除大文件中的某一行(最有效率的方法)
Aug 19 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 Python
Python爬取数据保存为Json格式的代码示例
Apr 09 Python
python 批量解压压缩文件的实例代码
Jun 27 Python
根据tensor的名字获取变量的值方式
Jan 04 Python
python 给图像添加透明度(alpha通道)
Apr 09 Python
python实现IOU计算案例
Apr 12 Python
Python如何合并多个字典或映射
Jul 24 Python
Python编写memcached启动脚本代码实例
Aug 14 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 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中存储用户ID和密码到mysql数据库的方法
2013/02/06 PHP
解析php中call_user_func_array的作用
2013/06/07 PHP
php实现数组筛选奇数和偶数示例
2014/04/11 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
Javascript注入技巧
2007/06/22 Javascript
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
使用jQuery简单实现模拟浏览器搜索功能
2014/12/21 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
详解Document.Cookie
2015/12/25 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
JS实现数组去重及数组内对象去重功能示例
2019/02/02 Javascript
vue使用showdown并实现代码区域高亮的示例代码
2019/10/17 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
js实现AI五子棋人机大战
2020/05/28 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
[04:16]DOTA2全国高校联赛16强抽签
2018/05/02 DOTA
[36:20]KG vs SECRET 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python3实现公众号每日定时发送日报和图片
2018/02/24 Python
python如何让类支持比较运算
2018/03/20 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
Python json读写方式和字典相互转化
2020/04/18 Python
Python内置函数locals和globals对比
2020/04/28 Python
解决使用Pandas 读取超过65536行的Excel文件问题
2020/11/10 Python
德国婴儿推车和儿童安全座椅商店:BABYSHOP
2016/09/01 全球购物
商得四方公司面试题(gid+)
2014/04/30 面试题
英语故事演讲稿
2014/04/29 职场文书
关于读书的演讲稿300字
2014/08/27 职场文书
民政局个人整改措施
2014/09/24 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
优秀教师申报材料
2014/12/16 职场文书
酒店前台岗位职责
2015/04/16 职场文书
致接力运动员加油稿
2015/07/21 职场文书
MySQL读取JSON转换的方式
2022/03/18 MySQL