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 拷贝对象(深拷贝deepcopy与浅拷贝copy)
Sep 06 Python
利用Python画ROC曲线和AUC值计算
Sep 19 Python
详解Django+Uwsgi+Nginx的生产环境部署
Jun 25 Python
Python 删除连续出现的指定字符的实例
Jun 29 Python
举例讲解Python常用模块
Mar 08 Python
python字符串和常用数据结构知识总结
May 21 Python
Python 串口读写的实现方法
Jun 12 Python
Python使用lambda表达式对字典排序操作示例
Jul 25 Python
Keras设置以及获取权重的实现
Jun 19 Python
python爬虫要用到的库总结
Jul 28 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
Nov 17 Python
python疲劳驾驶困倦低头检测功能的实现
Apr 04 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遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
Javascript基础教程之if条件语句
2015/01/18 Javascript
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
实现非常简单的js双向数据绑定
2015/11/06 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
2016/05/26 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
vue自定义键盘信息、监听数据变化的方法示例【基于vm.$watch】
2019/03/16 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
2019/11/20 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
Python单例模式的两种实现方法
2017/08/14 Python
python shell根据ip获取主机名代码示例
2017/11/25 Python
使用tensorflow实现线性svm
2018/09/07 Python
python中使用while循环的实例
2019/08/05 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
Speedo速比涛法国官方网站:泳衣、泳镜、泳帽、泳裤
2019/07/30 全球购物
某公司C#程序员面试题笔试题
2014/05/26 面试题
销售自我评价
2013/10/22 职场文书
学校运动会开幕演讲稿
2014/01/04 职场文书
业务员薪酬管理制度
2014/01/15 职场文书
自主招生自荐信范文
2015/03/04 职场文书
病假证明模板
2015/06/19 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
基于Redis的List实现特价商品列表功能
2021/08/30 Redis