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实现根据窗口标题调用窗口的方法
Mar 13 Python
浅谈python多线程和队列管理shell程序
Aug 04 Python
python安装numpy&安装matplotlib& scipy的教程
Nov 02 Python
Tensorflow中的placeholder和feed_dict的使用
Jul 09 Python
flask中的wtforms使用方法
Jul 21 Python
Python编程在flask中模拟进行Restful的CRUD操作
Dec 28 Python
基于python的Paxos算法实现
Jul 03 Python
windows python3安装Jupyter Notebooks教程
Apr 13 Python
Python3读取和写入excel表格数据的示例代码
Jun 09 Python
Python+Opencv身份证号码区域提取及识别实现
Aug 25 Python
Python爬虫中Selenium实现文件上传
Dec 04 Python
使用Django框架创建项目
Jun 10 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
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
PHP与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
php计算两个坐标(经度,纬度)之间距离的方法
2015/04/17 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
2016/01/04 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
PHP中SESSION过期设置
2021/03/09 PHP
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
jQuery使用ajaxSubmit()提交表单示例
2014/04/04 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
javascript 中关于array的常用方法详解
2017/05/05 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
2018/08/31 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
python读取excel表格生成erlang数据
2017/08/26 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
python实现学员管理系统
2019/02/26 Python
django模板结构优化的方法
2019/02/28 Python
python3下pygame如何实现显示中文
2020/01/11 Python
TensorFLow 数学运算的示例代码
2020/04/21 Python
利用python对excel中一列的时间数据更改格式操作
2020/07/14 Python
美国家喻户晓的保健品品牌:Vitamin World(维他命世界)
2016/08/19 全球购物
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
职称自我鉴定
2013/10/15 职场文书
高三自我鉴定怎么写
2013/10/19 职场文书
养生餐厅创业计划书范文
2014/03/26 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
2019最新企业员工考勤管理制度(通用版)!
2019/07/02 职场文书
php去除数组中为0的元素的实例分析
2021/11/17 PHP