pytest_gae

Pytest-plug-in voor apps geschreven met Google-appgine
Download nu

pytest_gae Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • MIT/X Consortium Lic...
  • Naam uitgever:
  • Petras Zdanavicius

pytest_gae Tags


pytest_gae Beschrijving

Pytest-plug-in voor apps geschreven met Google-appgine Pytest_gae is een PYTEST-plug-in die u helpt bij het testen van applicaties die zijn geschreven met Google-appgine.Options: * --With-Gae: Schakelt deze plugin * --GAE-PATCH: APPENGINE'S Root (Standaard Google_Appgine) * --GAE-Project-Path : De wortel van uw project (standaard ./): Dit project is geïnspireerd op Neus-GAE-plug-in voor NUSHTTP: //code.google.com/p/nose-gae/usage Voorbeeld: laat aannemen dat we een map hebben die eruit ziet Dat./ Gae # Appgine's Root ... SRC # Your Project's Root app.yaml index.yaml Main.py tests # Tests 'DIR test_handlers.py test_models.pymain.pyv pythonfrom google.appinggine.ext import webAppfrom google.appinggine.ext.WebApp import utilfrom google.appinggine.ext. WebApp.Util import login_requiredfrom google.appinggine.API importeren gebruikersfrom google.appinggine.ext import dbclass mymodel (db.model): my_field = db.stringproperty (verplicht = false) Klasse IndexHandler (WebApp.RequestHandler): Def Get (self): self.response.out.write ('index') CLA SS-gebruikersHandler (Webapp.requestHandler): @login_required Def Get (Self): als gebruikers.is_current_user_admin (): self.response.out.write ('admin') else: self.response.out.write ('gebruiker') Def make_Application (): Retourneer WebApp.wsgiapplication (, Debug = True) Def Main (): Toepassing = MAKE_APPLICATIE () Util.Run_Wsgi_App (Toepassing) if __Name__ == '__MAIN__': MAIN () Testen ModelStest_Models.py:From Google.appinggine.ext Import DbiMport PytestFrom Main Import MyModeldef Test_basic (): M = Mymodel (My_field = 'Foo') Assert 'Foo' == M.MY_FIELDDEF Test_new_model (): M = Mymodel (My_field = 'Foo') Pytest.raises (DB.NotsAvedError, Lambda: M.Key ()) Def Test_saved_model (): M = MyModel (My_field = 'FOO') M.Press () Assert M.Key () met behulp van WebTESTWE kan onze handlers testen met behulp van WebTest-bibliotheek. We zouden drie functies van Funcargs maken die ons in staat stelt de toepassing te testen: * Van anonieme gebruikersperspectief * van geautoriseerd gebruikersperspectief * van admin perspectivewe C zou dat doen door OS.ENVIROMENTTEST_HANDLERS.PY:IMPORT OSFROM WebTest Import Testappfrom Main Import Make_ApplicationDef Pytest_funcarg__anon_App (aanvraag): os.environ.update ({'user_email': '', 'user_id': '', 'Auth_Domain': ' Google ',' user_is_admin ':' 0 '}) Terug TestApp (make_application ()) Def Pytest_funcarg__User_App (aanvraag): os.environ.update ({' user_email ':' simple@google.com ',' user_id ':' 1 ',' Auth_Domain ':' Google ',' User_is_Admin ':' 0 '0'}) Terug Testapp (make_application ()) Def Pytest_funcarg__admin_App (aanvraag): os.environ.update ({'user_email': 'admin@google.com' , 'USER_ID': '2', 'Auth_Domain': 'Google', 'user_is_admin': '1'}) return TestApp (make_application ()) Def test_index (anon_App): Assert "Index" in anon_App.get ('/ / Index ') Def Test_User_With_User (User_App): Assert "Gebruiker" in User_App.get (' / gebruikers ') Def Test_User_With_anon (ANON_APP): Assert' 302 verplaatst tijdelijk '== anon_App.get (' / gebruikers '). StatusDef Test_User_With_Admin ( admin_App): Assert "Admin" in Admin_App.get ('/ Gebruikers') Runni Ngpy.Test-tests - MET-GAE --GAE-PATH = GAE --GAE-PROJECT-PATH =. / SRC /: Platform Linux2 - Python 2.5.5 - Pytest-2.0.0Collected 7 Itemstests / Test_handlers.py .... Tests / Test_models.py ... ============ 7 Geschikt in 0.64 seconden ============ Vereisten: · Python · Py.TEST Beperkingen: Plugin belet je niet dat je code / modules gebruikt die de omgeving van Appgine weigert om uit te voeren. Dus je kunt gemakkelijk iets doen: · Import-aansluiting · Import taly · En tests gewoon doorgaan. Maar u kunt deze code niet uitvoeren op de omgeving van APPENGINE, vanwege Sandboxing. Zie: Appgine docs · Deze plug-in gebruikt de code van interne appgine en er is geen garantie dat Google het niet zal veranderen.


pytest_gae Gerelateerde software