14

Google App Engine webapp.WSGIApplication からの応答を単体テストしたいと思います。たとえば、URL '/' を要求し、GAEUnitを使用して応答ステータス コードが 200 であることをテストします。これどうやってするの?

App Engine サンドボックス内で実行される webapp フレームワークと GAEUnit を使用したいと考えています (残念ながら、WebTestはサンドボックス内では動作しません)。

4

2 に答える 2

13

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)
于 2008-09-22T12:02:08.027 に答える
2

実際、コメントアウトしている限り、WebTestはサンドボックス内で機能します

import webbrowser

webtest / __init__。pyで

于 2008-09-20T09:44:18.780 に答える