我想从Google App Engine webapp.WSGIApplication单元测试回复,例如请求网址'/'并使用GAEUnit测试回复状态代码为200。我怎样才能做到这一点?
我想使用webApp框架和GAEUnit,它在App Engine沙箱中运行(遗憾的是WebTest在沙箱中不起作用。)
答案 0 :(得分:11)
我在GAEUnit项目中添加了sample application,该项目演示了如何使用GAEUnit编写和执行Web测试。该示例包含“webtest”模块的略微修改版本(“导入web浏览器”已按照David Coffin的建议进行了注释。)
以下是示例应用程序'test'目录中的'web_tests.py'文件:
import unittest
from webtest import TestApp
from google.appengine.ext import webapp
import index
class IndexTest(unittest.TestCase):
def setUp(self):
self.application = webapp.WSGIApplication([('/', index.IndexHandler)], debug=True)
def test_default_page(self):
app = TestApp(self.application)
response = app.get('/')
self.assertEqual('200 OK', response.status)
self.assertTrue('Hello, World!' in response)
def test_page_with_param(self):
app = TestApp(self.application)
response = app.get('/?name=Bob')
self.assertEqual('200 OK', response.status)
self.assertTrue('Hello, Bob!' in response)
答案 1 :(得分:1)
实际上,只要你注释掉了
,WebTest就可以在沙盒中工作import webbrowser
在webtest / __ init__.py
中