Python中DJANGO简单测试实例
2015-05-11 11:17
1181 查看
这里以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简单测试实例
- 【PythonDjango后台实例 第六章】Django实现简单的登陆验证功能
- python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
- python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
- python下搭建最简单的django框架实例
- python常用web框架性能测试(django,flask,bottle,tornado)
- 一次简单完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试
- 简单的python爬虫抓取图片实例
- python实例32[简单的HttpServer]
- Go语言内部rpc简单实例,实现python调用go的jsonrpc小实例
- python的web开发框架django安装指南(已测试)
- python简单实现基于SSL的IRC bot实例
- python简单实例训练(21~30)
- python 调用HBase的简单实例
- tensorflow学习笔记四:mnist实例--用简单的神经网络来训练和测试(MNIST For ML Beginners)
- Python---BeautifulSoup 简单的爬虫实例
- python测试mysql写入性能完整实例
- python妹子图简单爬虫实例