pytest_gae

Plugin de Pystest para aplicaciones escritas con AppEngine de Google
Descargar ahora

pytest_gae Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • MIT/X Consortium Lic...
  • Nombre del editor:
  • Petras Zdanavicius

pytest_gae Etiquetas


pytest_gae Descripción

Plugin de Pystest para aplicaciones escritas con AppEngine de Google PYTEST_GAE es un complemento PYTEST que lo ayuda a probar las solicitudes escritas con el AppEngine.Options.Options: * --with-Gae: enciende este plugin * --gae-ruta: la raíz de AppEngine (predeterminada google_appengine) * - google-proyecto-ruta : La raíz de su proyecto (predeterminado ./) al menos: este proyecto se inspiró en el complemento de la nariz-gae para noshttp: //code.google.com/p/nose-gae/usage Ejemplo: Permite asumir que tenemos un directorio que parece algo como eso ./├── Gae # la raíz de Appengine ├── ... ├── SRC # APP.YAML│ ├── Índice.yaml│ ├── main.py└── Pruebas # Pruebas 'dir ├── test_handlers.py └── test_models.pymain.py:#!/usr/bin/env pythonfrom Google.appengine.ext Importar WebAppDe google.appengine.ext.webapp Importar Utilde Google.appengine.ext. WebApp.util IMPORT INGOTIN_REQUIRRIERDO Google.appengine.api Importar a los usuarios de Google.appengine.ext Importar DBCLASS Mymodel (db.model): my_field = db.stringproperty (requerido = falso) clase indexhandler (webapp.requesthandler): definición (yo): self.response.out.write ('índice') cla SS UsersHandler (WebApp.Requesthandler): @Login_Required Def Get (yo): si los usuarios.is_current_user_admin (): self.response.out.write ('admin') Else: self.response.out.write ('usuario') def make_application (): devuelva a WebApp.wsgiaplication (, depuración = verdadero) Def principal (): aplicación = make_application () itil.run_wsgi_app (aplicación) si __Name__ == '__Main__': PRINCIPAL () PRUEBA () Modelstest_models.py:from Google.appengine.ext Importar dBimport Pytestfrom Principal Import MyModeldef Test_Basic (): M = Mymodel (My_Field = 'Foo') Asfierta '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.put () Assert M.Key () Uso con WebTestwe Podría probar nuestros manipuladores con la ayuda de la biblioteca de WebTest. Crearíamos funciones de tres funciones de Funcargs que nos permitan probar la aplicación: * Desde la perspectiva de usuario anónima * desde la perspectiva de usuario autorizada * desde la perspectiva de administración. Debido al alterar el OS.Enviromenttest_handlers.py:import OSFROM WEBTEST Import TestAppFrom Principal Import Make_ApplicationDef Pytest_funcarg__anon_app (Solicitud): os.environ.update ({'user_email': '', 'user_id': '', 'auth_domain': ' Google ',' User_is_Admin ':' 0 '}) Devolver TestApp (Make_Application ()) Def Pytest_Funcarg__User_App (Solicitud): OS.ENVIRON.UPDATE ({' user_email ':' simple@google.com ',' user_id ':' 1 ',' Auth_domain ':' Google ',' user_is_admin ':' 0 '}) Devolver TestApp (Make_Application ()) Def Pytest_funcarg__Admin_App (Solicitud): os.environ.update ({' user_email ':' admin@google.com ' , 'User_id': '2', 'auth_domain': 'Google', 'user_is_admin': '1'}) Devolver TestApp (make_application ()) Def test_index (anon_app): afirmación "índice" en anon_app.get ('/' Índice ') DEF TEST_USER_WITH_USER (User_App): Asfierta "Usuario" en User_App.Get (' / Users ') DeF Test_User_With_Anon (Anon_App): Asfierta' 302 movido temporalmente '== anon_app.get (' / usuarios '). EstadoDEF TEST_USER_WITH_ADMIN ( admin_app): Asfirmación "admin" en admin_app.get ('/ usuarios') runni Ngpy.test prueba --with-gae --gae-rath = gae --ga-proyecto-ruta =. / src /: plataforma linux2 - Python 2.5.5 - PYTEST-2.0.0Colectado 7 ítemstests / test_handlers.py .... Pruebas / test_models.py ... ============ 7 Pasado en 0.64 segundos ============ Requisitos: · Python · PY.TEST Limitaciones: El plugin no le impide utilizar el código / módulos que el entorno de AppEngine se niegue a ejecutar. Entonces, puedes hacer algo fácilmente así: · Importar socket · Importar NOMPY · Y las pruebas simplemente pasan. Pero no puede ejecutar este código en el entorno de AppEngine, debido a la caja de arena. Ver: AppEngine docs · Este complemento utiliza el código interno de AppEngine y no hay garantía de que Google no lo cambie.


pytest_gae Software relacionado

Ingenio

Clases de histograma simple, diseñadas para la manipulación de datos ...

221

Descargar