Pytest_gae.

Pytestプラグイン
今すぐダウンロード

Pytest_gae. ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • MIT/X Consortium Lic...
  • 出版社名:
  • Petras Zdanavicius

Pytest_gae. タグ


Pytest_gae. 説明

GoogleのAppEngineのと書かれたアプリケーションのためのプラグインpytest * --with-GAE:このプラグインをオンに* --gaeパス:AppEngineののルート(デフォルトgoogle_appengine)* --gaeプロジェクトパスpytest_gaeは、GoogleのAppEngine.Optionsで書かれたテスト・アプリケーションにあなたを助けpytestプラグインです://code.google.com/p/nose-gae/Usage例::あなたのプロジェクトのルート(デフォルト./)Others:Thisプロジェクトがnosehttpための鼻GAEプラグインに触発されたルックスの何かのようなことを私たちは、ディレクトリを持っていると仮定しましょうthat./├──GAE#のAppEngineのroot│├──...├──SRC#プロジェクトのroot│├──app.yaml│├──index.yaml│└──main.py└──テスト#テストDIR├──test_handlers.py└──test_models.pymain.py:#!/usr/bin/env pythonfrom google.appengine.ext輸入webappfrom google.appengine.ext.webapp輸入utilfrom google.appengine.ext。輸入webapp.util login_requiredfrom google.appengine.api輸入usersfrom google.appengine.extに、mymodel(db.Model)dbclassインポート:my_field = db.StringProperty(必要= False)がクラスIndexHandler(webapp.RequestHandler):デフ(自己)を取得します: self.response.out.write( 'インデックス')CLA SS UsersHandler(webapp.RequestHandler):@login_requiredデフ(自己)を取得します。if users.is_current_user_admin():DEF self.response.out.write( 'ユーザー'):self.response.out.write( '管理')他make_application():戻りwebapp.WSGIApplication(、デバッグ= TRUE)DEFメイン():アプリケーション= make_application()util.run_wsgi_app(アプリケーション)場合__name__ == '__main__':main()のテストmodelstest_models.py:from google.appengine.extインポートdbimportユーティリティのpytestfromメインインポートMyModeldefのtest_basic():M = mymodelという(my_field = 'foo' で)アサート 'foo' で== m.my_fielddef test_new_model():M = mymodelという(my_field = 'フー')pytest.raises(db.NotSavedError、ラムダ:m.key())DEF test_saved_model():M = mymodelという(my_field = 'foo' で)m.put()管理者perspectiveWe Cからの許可されたユーザの視点*から、匿名ユーザーの視点*から*:テストアプリケーションに私たちを可能にする3 funcargs'関数を作成しますWebTestのlibrary.Weの助けを借りて、私たちのハンドラをテストすることができWebTestWeで使用アサートm.key() os.environ.update({ 'USER_EMAIL': ''、 'USER_ID': ''、 'AUTH_DOMAIN': '変更os.enviromenttest_handlers.py:import osfrom WebTestのインポートTestAppfromメインインポートmake_applicationdefのpytest_funcarg__anon_app(要求)によってそれを行うウルドグーグル、 'USER_IS_ADMIN': '0'})でTestApp(make_application())DEF pytest_funcarg__user_app(リクエスト)を返す:os.environ.update({ 'USER_EMAIL': 'simple@google.com'、 'USER_ID': '1 」、 'AUTH_DOMAIN': 'Googleの、 'USER_IS_ADMIN': ':USER_EMAIL 0' os.environ.update({})は、でTestApp(make_application())DEF pytest_funcarg__admin_app(リクエスト)を返す '' 'admin@google.com' 、 'USER_ID': '2'、 'AUTH_DOMAIN': 'Googleの、 'USER_IS_ADMIN': '1'})を返すでTestApp(make_application())DEF test_index(anon_app):anon_app.getにアサート "インデックス"(' /インデックス ')デフtest_user_with_user(user_app):user_app.getでアサート "ユーザー"(' /ユーザー ')デフtest_user_with_anon(anon_app):アサート ' 302は、一時的に移動' == anon_app.get(' /ユーザー)statusdef test_user_with_admin( admin_app):アサートadmin_app.getで "管理者"( '/ユーザー')Runni ngpy.testテスト--with-GAE --gaeパス= GAE --gaeプロジェクトパス= / SRC /:プラットフォームlinux2 - Pythonの2.5.5 - pytest-2.0.0collected 7 itemstests / test_handlers.py。 ....テスト/ test_models.py ... ============ 70.64秒============要件に渡さ: ・Python ・py.test 制限事項 プラグインは、AppEngineのの環境ごみを実行することをコード/モジュールを使用してからあなたを防ぐことはできません。だから、あなたは簡単にそのような何かを行うことができます。 ・輸入ソケット ・インポートnumpyの ・そして、テストだけで合格。しかし、あなたはので、サンドボックス化のため、AppEngineの環境でこのコードを実行することはできません。参照:AppEngineのドキュメントを ・このプラグインは、内部のAppEngineのコードを使用しており、Googleはそれを変更するつもりはないという保証はありません。


Pytest_gae. 関連ソフトウェア