問題タブ [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 単体テスト ドライバーでは、電子メールが送信されたかどうかをどのようにテストしますか?
Django 単体テスト ドライバーでは、電子メールが送信されたかどうかをどのようにテストしますか?
python - Django アプリケーションの優れたテストを作成する
人生でテストを書いたことはありませんが、Django プロジェクトのテストを書き始めたいと思っています。テストに関するいくつかの記事を読み、非常に単純な Django アプリまたは最初のテストを作成することにしました。
このアプリには、2 つのビュー (リスト ビューと詳細ビュー) と、4 つのフィールドを持つモデルがあります。
私の tests.py ファイルを見せて、次の質問をしたいと思います。
それは理にかなっていますか?
私は正しいことをテストしていますか?
私が守っていないベスト プラクティスはありますか?
my tests.py (11 個のテストが含まれています):
django - Djangoの単体テストドライバーでフォームの検証ロジックをテストするにはどうすればよいですか?
フォームの検証ロジックのis_valid部分をテストしたいと思います。私のテストドライバーには次のものがあります。
アサーションは失敗しますが、私が見たところ、フォームにエラーはないはずです。フォームに検証エラーは表示されません。フォームにロードされたときにtest_animalインスタンスを検証する必要がある場合、これはテストケースとして機能する必要がありますか?
python - テストフィクスチャを使用したDjangoテストFileField
FileFieldを持ついくつかのモデルのテストを作成しようとしています。モデルは次のようになります。
私は2つの問題に遭遇しました:
を使用してフィクスチャにデータを保存する場合
./manage.py dumpdata
、ファイルの内容は保存されず、ファイル名のみがフィクスチャに保存されます。ファイルの内容がデータベースに保存されないため、これは予想される動作であることがわかりますが、テスト用のフィクスチャにこの情報を何らかの方法で含めたいと思います。次のようなファイルをアップロードするためのテストケースがあります。
/li>
このテストは問題なく機能しますが、終了後、アップロードされたファイルはメディアディレクトリに残ります。もちろん、削除はで処理できますがtearDown()
、Djangoにこれを処理する別の方法があるかどうか疑問に思いました。
私が考えていた解決策の1つは、テストフィクスチャとの同期を維持する必要があるテストに別のメディアフォルダーを使用することでした。settings.py
テストの実行中に別のメディアディレクトリを指定する方法はありますか?また、メディアフォルダ内のファイルを同期するために、dumpdataへのある種のフックを含めることはできますか?
それで、ファイルを含む単体テストを処理するためのよりPythonicまたはDjango固有の方法はありますか?
python - テストが失敗する理由をインタラクティブに調べるにはどうすればよいですか?
私は失敗しているテストがあります:
テストは次のとおりです。
とにかく、この応答が200を返さない理由を確認できますか?
シェルでTestClient()を使用しようとしましたが、機能しませんでした。
django - OpenId セッション データを Django テスト クライアント POST に追加するにはどうすればよいですか?
新しいユーザーがdjango_authopenidに登録されると、UserProfileモデルが作成されることをテストしようとしています。Openid セッション データを POST に追加する方法がわかりません。
django - django テスト + buildout を Eclipse/Aptana とうまく統合して実行する方法はありますか?
django-admin startprojects で作成された django プロジェクトのテストを実行するように Eclipse をセットアップするのはかなり簡単です。実行コマンドを ./manage.py に向け、必要な引数を指定するだけです。
buildout を使用してプロジェクトをビルドした場合、どうすればよいでしょうか? もちろん、bin/biuldout は便利な bin/test-1.1 および bin/test-trunk ファイルを作成しますが、これらは Eclipse と統合されていません。
これらを Eclipse から外部ツールとして実行することもできますが、manage.py test myapp を実行する際の適切なコード認識を得るにはどうすればよいでしょうか?
誰かが解決策を知っていますか?これを可能にするビルドアウトレシピはありますか?
ご協力いただきありがとうございます!
django - Django-元のデータベースの一部を使用したテスト
私のデータベースには、非常に動的なエントリ(ユーザー、コメントなど)と静的なエントリ(電子メールテンプレート、フラットページ)の2種類のエントリがあります。
テスト中、クリーンなDBが必要ですが、実際の「半静的」データが必要です。
元のDBの一部をロードするようにDjangoのテストシステムを作成する方法はありますか?
ありがとう
django - 私のモデルで django-nose が doctest を実行しないのはなぜですか?
django-nose で doctests を使用しようとしています。モデル内の doctest を除いて、すべての doctest が実行されています (抽象的でない限り)。
最初の doctest は実行されず、2 番目は実行されます。どうしてこれなの?
django - Django の self.client.login(...) が単体テストで機能しない
単体テスト用のユーザーを次の 2 つの方法で作成しました。
1) 「auth.user」のフィクスチャを作成します。これはおおよそ次のようになります。
一見重要でない部分を省略しました。
2) setUp 関数で 'create_user' を使用します (ただし、すべてをフィクスチャ クラスに保持したいのですが):
どちらの場合も、パスワードは simpson であることに注意してください。
この情報がテスト データベースに何度も正しく読み込まれていることを確認しました。User.objects.get を使用して User オブジェクトを取得できます。「check_password」を使用して、パスワードが正しいことを確認できます。ユーザーはアクティブです。
しかし、常に、self.client.login(username='homer', password='simpson') は失敗します。なぜだろうと困惑しています。私は、これに関するすべてのインターネット ディスカッションを読んだと思います。誰でも助けることができますか?
単体テストのログイン コードは次のようになります。
ありがとう。