Python中DJANGO简单测试实例
作者:蛇小狼 时间:2022-09-09 16:36:53
本文实例讲述了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,DJANGO
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
TensorFlow和keras中GPU使用的设置操作
2023-08-07 20:32:53
Python深度学习之FastText实现文本分类详解
2022-09-03 10:35:28
![](https://img.aspxhome.com/file/2023/1/103311_0s.png)
关于python通过新建环境安装tfx的问题
2022-06-28 19:47:21
![](https://img.aspxhome.com/file/2023/1/109641_0s.jpg)
Python设置默认编码为utf8的方法
2023-09-23 16:08:34
兼容 IE,Firefox 的图片自动缩放 CSS
2011-09-27 13:36:58
asp实现页面延迟运行的两个简单方法
2007-10-16 13:49:00
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2023-04-28 19:03:53
![](https://img.aspxhome.com/file/2023/2/71572_0s.gif)
python统计字母、空格、数字等字符个数的实例
2022-10-04 12:02:29
python机器学习混淆矩阵及confusion matrix函数使用
2023-03-08 18:14:12
![](https://img.aspxhome.com/file/2023/6/92436_0s.png)
Python通过类的组合模拟街道红绿灯
2021-04-13 02:00:24
Python+腾讯云服务器实现每日自动健康打卡
2023-08-18 00:22:44
![](https://img.aspxhome.com/file/2023/8/70678_0s.png)
python简单图片操作:打开\\显示\\保存图像方法介绍
2021-03-29 15:52:28
![](https://img.aspxhome.com/file/2023/7/103667_0s.jpg)
TensorFlow损失函数专题详解
2023-08-17 10:12:13
![](https://img.aspxhome.com/file/2023/3/85303_0s.gif)
Python urlopen 使用小示例
2022-08-23 19:54:55
python实现壁纸批量下载代码实例
2023-11-15 12:38:54
![](https://img.aspxhome.com/file/2023/4/64594_0s.png)
MySQL中delimiter的作用
2010-10-25 20:26:00
IE不支持border-spacing的解决办法
2009-04-28 13:11:00
详解Python的三种可变参数
2022-06-18 03:09:27
学习JavaScript设计模式之装饰者模式
2023-07-19 08:59:07
讲解数据库加密技术的功能特性与实现方法
2008-12-18 14:24:00