Open MMihut opened 9 years ago
Ici est un example de application web: import webapp2 import webtest
class HelloWorldHandler(webapp2.RequestHandler): def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello World!') class AppTest(unittest.TestCase):
def setUp(self):
app = webapp2.WSGIApplication([('/', HelloWorldHandler)])
self.testapp = webtest.TestApp(app)
# Test the handler.
def testHelloWorldHandler(self):
response = self.testapp.get('/')
self.assertEqual(response.status_int, 200)
self.assertEqual(response.normal_body, 'Hello World!')
self.assertEqual(response.content_type, 'text/plain') from google.appengine.api import memcache
from google.appengine.ext import testbed import webapp2 import webtest
class CacheHandler(webapp2.RequestHandler): def post(self): key = self.request.get('key') value = self.request.get('value') memcache.set(key, value) class AppTest(unittest.TestCase):
def setUp(self): app = webapp2.WSGIApplication([('/cache/', CacheHandler)]) self.testapp = webtest.TestApp(app) self.testbed = testbed.Testbed() self.testbed.activate()
def tearDown(self): self.testbed.deactivate()
def testCacheHandler(self):
key = 'answer'
value = '42'
self.testbed.init_memcache_stub()
params = {'key': key, 'value': value}
response = self.testapp.post('/cache/', params)
self.assertEqual(value, memcache.get(key))
Deuxieme example: import unittest from google.appengine.api import memcache from google.appengine.ext import ndb from google.appengine.ext import testbed from google.appengine.datastore import datastore_stub_util
class DemoTestCase(unittest.TestCase):
def setUp(self):
self.testbed = testbed.Testbed()
self.testbed.activate()
self.policy=datastore_stub_util.PseudoRandomHRConsistencyPolicy(probability=0)
self.testbed.init_datastore_v3_stub(consistency_policy=self.policy)
self.testbed.init_memcache_stub()
def tearDown(self): self.testbed.deactivate()
def testEventuallyConsistentGlobalQueryResult(self): class TestModel(ndb.Model): pass
user_key = ndb.Key('User', 'ryan')
ndb.put_multi([TestModel(parent=user_key), TestModel(parent=user_key)])
self.assertEqual(0, TestModel.query().count(3))
self.assertEqual(2, TestModel.query(ancestor=user_key).count(3))
if name == 'main': unittest.main()
Ecrire des testes pour l'envoye des requets via le navigateur web et validation des resultats recus.