問題タブ [django-testing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - django:: テストでミドルウェアを呼び出す
を定義するミドルウェア関数がありますrequest.foo
。テストしたい関数は、ミドルウェアから定義されている foo に依存しています。テスト中にミドルウェアが実行されないため、どのように機能をテストしますか?
実際には、リクエストを受け取り、すべてのミドルウェアを順番に実行してから、最終的なリクエストを吐き出す関数が必要です (ビューに渡されたときと同じように)。そのような機能は存在しますか?
ミドルウェア関数を手動で呼び出すこともできますが、それはハックのようです。テスト対象のミドルウェアが別のミドルウェアに依存している場合はどうなりますか? 「ミドルウェア地獄」にぶち当たります。
<例>
ミドルウェア機能:
テストしたい関数は次のとおりです。
どのようにテストしgetBaz
ますか?
< /例 >
<可能性>
ミドルウェアを手動で実行できます。
しかし、それはハックのようです。テスト対象のミドルウェアが別のミドルウェアに依存している場合はどうなりますか?
</可能性>
django - アプリと特定のテストメソッドが指定されていない限り、Django は manage.py テストでテストを実行していません
Django アプリケーション myApp があります。その中に、django.test.TestCase クラスを使用して多数のテスト ケースを定義する tests.py ファイルがあります。たとえば、そのうちの 1 つは WebViews と呼ばれ、テスト メソッド check_status_codes を持っています。
./manage.py テストを実行すると、データベースは初期データで構築されますが、実行したテストは 0 であると表示されます。これを行うと、同様の結果が得られます (テストは実行されません)。
./manage.py テスト myApp
またはこれさえ:
./manage.py テスト myApp.WebViews
ただし、実行すると
./manage.py test.WebViews.check_status_codes
次に、その正確なテスト メソッドが期待どおりに実行されます。
このように一連のテスト メソッドをつなぎ合わせて実行することはできますが、これは非常に面倒で、何かが足りないような気がします。
何をすべきかに関するヒントや提案はありますか?
ありがとう!
python - Djangoのテストのヒント
この質問の精神で、Django Webアプリ用の便利で「完全な」テストスイート(テストスイートを「完全」にすることはできますか?)を作成するためのヒントがあるかどうかを知りたいと思います。
私の状況:プロトタイプをノックアウトし、現在、回帰テストの追加に取り組んでいます。私は個人的にほとんどのテストにdjango-webtestを使用し、 Djangoテストクライアントを使用したURLテストも行っています。
IIは、私のテストスイートにまったく満足していません。私はテストのプロからはほど遠いので、そのために改善しようとしています。ヒント---私の状況に当てはまるかどうかにかかわらず---大歓迎です。
django - Djangoを使用してチームシティでカバレッジをテストする
teamcityを機能させ、カスタムテストランナーをビルドして実行します(http://pypi.python.org/pypi/teamcity-messages)
私はこの投稿を大雑把に騙しました:Python/Django継続的インテグレーションのためのTeamCity
私のrun_suiteメソッドは次のようになります。
現在、coverage.pyでdjango_coverageを使用していますが、teamcityでテストカバレッジデータを取得したいと思います。
チームシティに縛られることはありませんが、CIサーバーとして使用することを好みますが、簡単であれば別のサーバーに変更できます。
./manage.py test_coverageがteamcityで出力するデータを取得するにはどうすればよいですか?
python - Django テスト フレームワークでセッションを変更するにはどうすればよいですか
私のサイトでは、現在の session_key に基づいてユーザーを作成することにより、ログインしていなくても個人がコンテンツを投稿できます。
ビューのテストをセットアップしたいのですが、request.session を変更できないようです:
私はこれをしたい:
しかし、私はエラーが発生します:
get リクエストを行う前にクライアント セッションを変更する方法について考えていますか? 私はこれを見ましたが、うまくいかないようです
mysql - Djangoテスト-SouthとMySQLの問題
djangoのテストフレームワークを利用するために、djangoプロジェクトでシステムをセットアップしようとしています。しかし、実行しようとすると、python manage.py test
以下に説明するさまざまなエラーが発生します。
私たちは、reset.batバッチファイルを使用して開発サーバーを再起動し、フィクスチャから「クリーンな」データをロードするdjango環境に取り組んでいます。ローカル環境を処理する以外に、バックファイルは次のことを行います。
python manage.py test
InnoDBエンジンをデフォルトとして設定して実行しようとすると、次のようになります。
作成されたテーブルを元に戻すSQLコマンドは「ここ」に表示されます。
MyISAMで実行しようとするpython manage.py test
と、システムの実行中に作成されるはずの、システム上で偽造されたテーブルに関するエラーが発生します。
テストを実行する方法に関する考えやアイデアをいただければ幸いです。
python - Django テスト クライアントを本番環境での API 呼び出しに使用できますか?
Piston で構築された API を使用して Django アプリを構築しています。すべてを可能な限り DRY に保ち、API を完全に保つために、内部アプリケーションでモデルではなく API を呼び出すようにしたいと思います ( https://github.com/raganwaldのようなプロキシ ビュー コントローラーのようなものです)。 /homoiconic/blob/master/2010/10/vc_without_m.md ですが、今のところすべて 1 つの django インストール上にあります)。したがって、基本的なセットアップは次のとおりです。
いくつかのコア Piston クラスをオーバーロードして、アプリケーションの内部クライアント インターフェイスを作成できますが、Django テスト クライアントを使用して同じことを達成できるかどうか疑問に思っています。したがって、モデルを呼び出すのではなく、記事を作成するには、次のように実行します。
テストクライアントを使用してこれを行うべきではない理由はありますか? (たとえば、パフォーマンス) この特定の目的により適した、より優れたツールはありますか?
django - settings.py で Django テスト データベース名を指定します。
Python オブジェクトを使用してデータベースを指定しています。
テスト データベースの名前を指定するにはどうすればよいですか? 私はTEST_NAME = 'auto_tests'
settings.pyファイルで使用しようとしています。ただし、実行するpython manage.py tests <app_name>
と、次のメッセージが表示されます。
テストを実行するときに、おそらく「auto_tests_testsqldb」と呼ばれる別のデータベースがシステムによって作成されることを期待しています。ただし、まだtest_testsqldbについて尋ねています。
どんなアドバイスでも大歓迎です!
django - Django 1.3:テスト中に送信トレイが空になりました
送信トレイがどのように機能するかはわかりませんが、ドキュメントから、テスト中にすべての送信メールをキャッチするだけであることがわかりました。
新しいアプリケーションで新しいプロジェクトを作成し、次のコードを追加しました。
python manage.py test app_nameを実行すると、0!= 1というアサーションエラーが発生します。何か間違ったことをしていますか?
アップデート
django.core.mailをインポートしてmail.outboxを使用すると、これは奇妙なことです。
outboxとmail.outboxの直接インポートを比較しようとしましたが、どちらも異なる結果になります
戻り値:
たぶん私は長い間働いていて、本当に明白な何かを見逃してきましたか?
python - Django テスト フレームワークでの基本的な HTTP アクセス認証の使用
私の Django ビューのいくつかでは、基本的な HTTP アクセス認証を実行するデコレーターを作成しました。しかし、Django でテスト ケースを作成しているときに、ビューに対する認証方法を理解するのに時間がかかりました。これが私がやった方法です。誰かがこれが役立つことを願っています。