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 相关文章推荐
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
python定时检查某个进程是否已经关闭的方法
May 20 Python
python相似模块用例
Mar 04 Python
Python及PyCharm下载与安装教程
Nov 18 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
Aug 08 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
python进程间通信Queue工作过程详解
Nov 01 Python
tensorflow之变量初始化(tf.Variable)使用详解
Feb 06 Python
jupyter notebook清除输出方式
Apr 10 Python
浅谈Python程序的错误:变量未定义
Jun 02 Python
python 最简单的实现适配器设计模式的示例
Jun 30 Python
Jmeter HTTPS接口测试证书导入过程图解
Jul 22 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
php实现水仙花数示例分享
2014/04/03 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
使用phpQuery获取数组的实例
2017/03/13 PHP
javascript 写类方式之二
2009/07/05 Javascript
JavaScript 核心参考教程 内置对象
2009/10/13 Javascript
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
js截取固定长度的中英文字符的简单实例
2013/11/22 Javascript
简单实现JS对dom操作封装
2015/12/02 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
layerUI下的绑定事件实例代码
2018/08/17 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
2019/08/07 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
详解Python中open()函数指定文件打开方式的用法
2016/06/04 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
Python函数的参数常见分类与用法实例详解
2019/03/30 Python
python 图片去噪的方法示例
2019/07/09 Python
python socket 聊天室实例代码详解
2019/11/14 Python
python单例设计模式实现解析
2020/01/07 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
python各层级目录下import方法代码实例
2020/01/20 Python
PyQT5速成教程之Qt Designer介绍与入门
2020/11/02 Python
德国PC硬件网站:CASEKING
2016/10/20 全球购物
巴西网上药房:onofre
2016/11/21 全球购物
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
设计师个人求职信范文
2014/02/02 职场文书
中学生学雷锋演讲稿
2014/04/26 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android
SQL Server查询某个字段在哪些表中存在
2022/03/03 SQL Server
MySQL分区路径子分区再分区
2022/04/13 MySQL