Google App Engine webapp.WSGIApplication からの応答を単体テストしたいと思います。たとえば、URL '/' を要求し、GAEUnitを使用して応答ステータス コードが 200 であることをテストします。これどうやってするの?
App Engine サンドボックス内で実行される webapp フレームワークと GAEUnit を使用したいと考えています (残念ながら、WebTestはサンドボックス内では動作しません)。
GAEUnitプロジェクトにサンプルアプリケーションを追加しました。これは、GAEUnitを使用してWebテストを作成および実行する方法を示しています。サンプルには、「webtest」モジュールのわずかに変更されたバージョンが含まれています(「import webbrowser」は、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)
実際、コメントアウトしている限り、WebTestはサンドボックス内で機能します
import webbrowser
webtest / __init__。pyで