How can I unit test responses from the webapp WSGI application in Google App Engine?

后端 未结 2 1682
醉梦人生
醉梦人生 2020-12-13 21:38

I\'d like to unit test responses from the Google App Engine webapp.WSGIApplication, for example request the url \'/\' and test that the responses status code is 200, using G

相关标签:
2条回答
  • 2020-12-13 22:22

    I have added a sample application to the GAEUnit project which demonstrates how to write and execute a web test using GAEUnit. The sample includes a slightly modified version of the 'webtest' module ('import webbrowser' is commented out, as recommended by David Coffin).

    Here's the 'web_tests.py' file from the sample application 'test' directory:

    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)
    
    0 讨论(0)
  • 2020-12-13 22:34

    Actually WebTest does work within the sandbox, as long as you comment out

    import webbrowser
    

    in webtest/__init__.py

    0 讨论(0)
提交回复
热议问题