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 相关文章推荐
读写json中文ASCII乱码问题的解决方法
Nov 05 Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
Jan 24 Python
分享一下Python数据分析常用的8款工具
Apr 29 Python
Python使用cx_Oracle模块操作Oracle数据库详解
May 07 Python
在python中使用with打开多个文件的方法
Jan 07 Python
浅谈Pycharm中的Python Console与Terminal
Jan 17 Python
python的schedule定时任务模块二次封装方法
Feb 19 Python
浅谈python的elementtree模块处理中文注意事项
Mar 06 Python
Python3之外部文件调用Django程序操作model等文件实现方式
Apr 07 Python
Python参数传递及收集机制原理解析
Jun 05 Python
Python安装第三方库攻略(pip和Anaconda)
Oct 15 Python
Python虚拟环境virtualenv创建及使用过程图解
Dec 08 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
全国FM电台频率大全 - 4 山西省
2020/03/11 无线电
mysql5详细安装教程
2007/01/15 PHP
php 服务器调试 Zend Debugger 的安装教程
2009/09/25 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
Angular发布1.5正式版,专注于向Angular 2的过渡
2016/02/18 Javascript
微信小程序 数据访问实例详解
2016/10/08 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
js实现json数组分组合并操作示例
2019/02/12 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
2018/08/05 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
pycharm部署、配置anaconda环境的教程
2020/03/24 Python
Python基于Tkinter编写crc校验工具
2020/05/06 Python
Python控制台实现交互式环境执行
2020/06/09 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
Lookfantastic香港官网:英国知名美妆购物网站
2018/06/19 全球购物
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
高中毕业生自我鉴定例文
2013/12/29 职场文书
法务专员岗位职责
2014/01/02 职场文书
后进生转化工作制度
2014/01/17 职场文书
如何写一封打动人心的求职信
2014/02/17 职场文书
《湘夫人》教学反思
2014/02/21 职场文书
关于孝道的演讲稿
2014/05/21 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
音乐之声音乐广播稿
2014/09/10 职场文书
2014年档案管理员工作总结
2014/12/01 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书
Python集合的基础操作
2021/11/01 Python