Как я могу тестировать ответы из приложения WSGI webapp в Google App Engine? - PullRequest
11 голосов
/ 20 сентября 2008

Я хотел бы выполнить модульное тестирование ответов из веб-приложения Google App Engine. Например, запросить URL-адрес '/' и проверить, что код состояния ответов равен 200, используя GAEUnit . Как я могу это сделать?

Я бы хотел использовать каркас веб-приложения и GAEUnit, который работает в изолированной программной среде App Engine (к сожалению WebTest не работает в изолированной программной среде).

Ответы [ 2 ]

11 голосов
/ 22 сентября 2008

Я добавил пример приложения в проект GAEUnit, который демонстрирует, как написать и выполнить веб-тест с использованием GAEUnit. Образец включает слегка измененную версию модуля webtest (закомментировано «import webbrowser», как рекомендовано Дэвидом Коффином).

Вот файл 'web_tests.py' из каталога 'test' примера приложения:

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 голос
/ 20 сентября 2008

На самом деле WebTest работает в песочнице, пока вы комментируете

import webbrowser

в веб-тесте / __ init__.py

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...