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设置tmpfs来加速项目的教程
Apr 17 Python
Python单链表简单实现代码
Apr 27 Python
深入理解NumPy简明教程---数组2
Dec 17 Python
Python中字典(dict)合并的四种方法总结
Aug 10 Python
解决pycharm 误删掉项目文件的处理方法
Oct 22 Python
django中SMTP发送邮件配置详解
Jul 19 Python
python实现对服务器脚本敏感信息的加密解密功能
Aug 13 Python
python使用 request 发送表单数据操作示例
Sep 25 Python
使用K.function()调试keras操作
Jun 17 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
Jul 09 Python
利用python批量爬取百度任意类别的图片的实现方法
Oct 07 Python
python爬虫分布式获取数据的实例方法
Nov 26 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
如何开发一个虚拟域名系统
2006/10/09 PHP
apache php模块整合操作指南
2012/11/16 PHP
php后台如何避免用户直接进入方法实例
2013/10/15 PHP
PHP表单数据写入MySQL数据库的代码
2016/05/31 PHP
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
jquery select多选框的左右移动 具体实现代码
2013/07/03 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
基于JS对象创建常用方式及原理分析
2017/06/28 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
微信小程序3种位置API的使用方法详解
2019/08/05 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
Vue Elenent实现表格相同数据列合并
2020/11/30 Vue.js
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
python复制文件的方法实例详解
2015/05/22 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
对python中使用requests模块参数编码的不同处理方法
2018/05/18 Python
pytorch 转换矩阵的维数位置方法
2018/12/08 Python
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
基于keras中的回调函数用法说明
2020/06/17 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
纽约州一群才华横溢的金匠制作而成:Hearth Jewelry
2019/03/22 全球购物
在线课程:Skillshare
2019/04/02 全球购物
经济管理专业毕业生推荐信
2013/11/11 职场文书
考试作弊被抓检讨书
2014/01/10 职场文书
高中物理教学反思
2014/02/08 职场文书
运动会通讯稿150字
2014/02/15 职场文书
三查三看党性分析材料
2014/02/18 职场文书
六一节目主持词
2014/04/01 职场文书
农业生产宣传标语
2014/10/08 职场文书
2016年国陪研修感言
2015/11/18 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
ORACLE数据库应用开发的三十个注意事项
2021/06/07 Oracle