問題タブ [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.

0 投票する
2 に答える
3182 参照

django - django:: テストでミドルウェアを呼び出す

を定義するミドルウェア関数がありますrequest.foo。テストしたい関数は、ミドルウェアから定義されている foo に依存しています。テスト中にミドルウェアが実行されないため、どのように機能をテストしますか?

実際には、リクエストを受け取り、すべてのミドルウェアを順番に実行してから、最終的なリクエストを吐き出す関数が必要です (ビューに渡されたときと同じように)。そのような機能は存在しますか?

ミドルウェア関数を手動で呼び出すこともできますが、それはハックのようです。テスト対象のミドルウェアが別のミドルウェアに依存している場合はどうなりますか? 「ミドルウェア地獄」にぶち当たります。

<例>

ミドルウェア機能:

テストしたい関数は次のとおりです。

どのようにテストしgetBazますか?

< /例 >

<可能性>

ミドルウェアを手動で実行できます。

しかし、それはハックのようです。テスト対象のミドルウェアが別のミドルウェアに依存している場合はどうなりますか?

</可能性>

0 投票する
1 に答える
1644 参照

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

次に、その正確なテスト メソッドが期待どおりに実行されます。

このように一連のテスト メソッドをつなぎ合わせて実行することはできますが、これは非常に面倒で、何かが足りないような気がします。

何をすべきかに関するヒントや提案はありますか?

ありがとう!

0 投票する
2 に答える
2677 参照

python - Djangoのテストのヒント

この質問の精神で、Django Webアプリ用の便利で「完全な」テストスイート(テストスイートを「完全」にすることはできますか?)を作成するためのヒントがあるかどうかを知りたいと思います。

私の状況:プロトタイプをノックアウトし、現在、回帰テストの追加に取り組んでいます。私は個人的にほとんどのテストにdjango-webtestを使用し、 Djangoテストクライアントを使用したURLテストも行っています。

IIは、私のテストスイートにまったく満足していません。私はテストのプロからはほど遠いので、そのために改善しようとしています。ヒント---私の状況に当てはまるかどうかにかかわらず---大歓迎です。

0 投票する
2 に答える
3682 参照

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で出力するデータを取得するにはどうすればよいですか?

0 投票する
5 に答える
16390 参照

python - Django テスト フレームワークでセッションを変更するにはどうすればよいですか

私のサイトでは、現在の session_key に基づいてユーザーを作成することにより、ログインしていなくても個人がコンテンツを投稿できます。

ビューのテストをセットアップしたいのですが、request.session を変更できないようです:

私はこれをしたい:

しかし、私はエラーが発生します:

get リクエストを行う前にクライアント セッションを変更する方法について考えていますか? 私はこれを見ましたが、うまくいかないようです

0 投票する
1 に答える
1009 参照

mysql - Djangoテスト-SouthとMySQLの問題

djangoのテストフレームワークを利用するために、djangoプロジェクトでシステムをセットアップしようとしています。しかし、実行しようとすると、python manage.py test以下に説明するさまざまなエラーが発生します。

私たちは、reset.batバッチファイルを使用して開発サーバーを再起動し、フィクスチャから「クリーンな」データをロードするdjango環境に取り組んでいます。ローカル環境を処理する以外に、バックファイルは次のことを行います。

python manage.py testInnoDBエンジンをデフォルトとして設定して実行しようとすると、次のようになります。

作成されたテーブルを元に戻すSQLコマンドは「ここ」に表示されます。

MyISAMで実行しようとするpython manage.py testと、システムの実行中に作成されるはずの、システム上で偽造されたテーブルに関するエラーが発生します。

テストを実行する方法に関する考えやアイデアをいただければ幸いです。

0 投票する
1 に答える
1158 参照

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 テスト クライアントを使用して同じことを達成できるかどうか疑問に思っています。したがって、モデルを呼び出すのではなく、記事を作成するには、次のように実行します。

テストクライアントを使用してこれを行うべきではない理由はありますか? (たとえば、パフォーマンス) この特定の目的により適した、より優れたツールはありますか?

0 投票する
1 に答える
24065 参照

django - settings.py で Django テスト データベース名を指定します。

Python オブジェクトを使用してデータベースを指定しています。

テスト データベースの名前を指定するにはどうすればよいですか? 私はTEST_NAME = 'auto_tests'settings.pyファイルで使用しようとしています。ただし、実行するpython manage.py tests <app_name>と、次のメッセージが表示されます。

テストを実行するときに、おそらく「auto_tests_testsqldb」と呼ばれる別のデータベースがシステムによって作成されることを期待しています。ただし、まだtest_testsqldbについて尋ねています。

どんなアドバイスでも大歓迎です!

0 投票する
1 に答える
2423 参照

django - Django 1.3:テスト中に送信トレイが空になりました

送信トレイがどのように機能するかはわかりませんが、ドキュメントから、テスト中にすべての送信メールをキャッチするだけであることがわかりました。

新しいアプリケーションで新しいプロジェクトを作成し、次のコードを追加しました。

python manage.py test app_nameを実行すると、0!= 1というアサーションエラーが発生します。何か間違ったことをしていますか?

アップデート

django.core.mailをインポートしてmail.outboxを使用すると、これは奇妙なことです。

outboxとmail.outboxの直接インポートを比較しようとしましたが、どちらも異なる結果になります

戻り値:

たぶん私は長い間働いていて、本当に明白な何かを見逃してきましたか?

0 投票する
6 に答える
22344 参照

python - Django テスト フレームワークでの基本的な HTTP アクセス認証の使用

私の Django ビューのいくつかでは、基本的な HTTP アクセス認証を実行するデコレーターを作成しました。しかし、Django でテスト ケースを作成しているときに、ビューに対する認証方法を理解するのに時間がかかりました。これが私がやった方法です。誰かがこれが役立つことを願っています。