問題タブ [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 投票する
1 に答える
1934 参照

django - Python/Djangoのスレッド間でトランザクションスコープを共有していますか? (PostgreSQL)

django ベースのコードで 2 つのスレッド間で同じトランザクションを共有する方法はありますか?

問題は、1.1 の TestCase (個々のテストをトランザクションにラップするもの) を持っていることです。これは、別のスレッドで実行されているコードをテストすることを目的としています [一種の非同期テスト]。したがって、これらのテストは、この 2 番目のスレッドで使用するためのデータを作成します。明らかに、このデータはトランザクション スコープ内で作成されるため、2 番目のスレッドからは見えません。しかし、それは基本的にPgSQLへの同じ接続であるべきなので(そうすべきですか?)、このトランザクションスコープを共有して、2番目のスレッドがその中に追加されているデータにアクセスできるようにする方法があることを願っています..

何か案が?

データベースは PgSQL 8.3、ドライバーは postgresql_psycopg2 です。Django — トランク。

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

mysql - Django プロジェクトのテスト時に DATABASE_OPTIONS を適用する (または InnoDB for MySQL を使用するようにする)

タイトルが示すように、テストを実行するときに DATABASE_OPTIONS 設定を適用したい./manage.py test. では、 と の両方で、django/db/backends/creation.pyこのオプションはまったく考慮されません。create_test_db()_create_test_db()

transaction.rollbackこれにより、 InnoDB で関数を使用するビューでテストが中断されます。InnoDB ストレージ エンジンでテスト データベースが作成されていないようです。

この問題の回避策または修正方法はありますか?

0 投票する
8 に答える
26160 参照

django - Django:単体テストからSQLクエリをカウントする方法はありますか?

ユーティリティ関数によって実行されたクエリの数を調べようとしています。この関数の単体テストを作成しましたが、関数はうまく機能しています。私がやりたいのは、関数によって実行された SQL クエリの数を追跡して、リファクタリング後に改善があるかどうかを確認できるようにすることです。

編集: これに対する保留中の Django機能要求があることがわかりました。ただし、チケットはまだ開いています。それまでの間、これについて別の方法はありますか?

0 投票する
4 に答える
2788 参照

django - Django テスト - URL をハード コードするかどうか

これはベスト プラクティスの質問です。

Django でテストを作成する場合、tests.py で URL をハードコーディングするのと、ディスパッチの reverse() 関数を使用して正しい URL を取得するのとのどちらがよいでしょうか?

ハードコーディングされた URL をテストに使用するのは正しい方法のようにしか思えませんが、同時に、reverse() を使用しない十分な理由が思いつきません。

オプション A.reverse()

オプション B. ハードコーディング

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

django - すべてのモジュールですべてのdoctestを検索するようにDjangoを構成しますか?

次のコマンドを実行した場合:

Djangoは私のアプリケーションでtests.pyを調べ、そのファイルですべてのdoctestまたは単体テストを実行します。また、実行する追加のテストについて__test__ディクショナリを調べます。したがって、次のように他のモジュールからのdoctestをリンクできます。

より多くのdoctestを含めたい場合、この辞書にすべてを列挙するよりも簡単な方法はありますか?理想的には、Djangoにmyappアプリケーションのすべてのモジュールのすべてのdoctestを見つけてもらいたいだけです。

私がなりたい場所に私を連れて行くような反射ハックはありますか?

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

django - Djangoでカスタムテンプレートタグをテストする方法は?

テンプレートタグのセットをDjangoアプリケーションに追加していますが、それらをテストする方法がわかりません。テンプレートで使用しましたが、機能しているようですが、もっとフォーマルなものを探していました。メインロジックはモデル/モデルマネージャーで実行され、テストされています。タグは単にデータを取得し、それを次のようなコンテキスト変数に格納します

だから私の質問は、あなたは通常あなたのテンプレートタグをテストしますか、そしてあなたがそれをどのように行うのですか?

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

django - ビューのDjangoユニットテストの作成

誰かがビューの良いテストを書く良い手がかり/例を持っていますか?私が見つけたもののほとんどは2008年半ばのもので、少しだけ役に立ちました。

0 投票する
4 に答える
1714 参照

django - Jinja2 を利用した Django ビューをテストするときに、response.context にアクセスするにはどうすればよいですか?

Django test.client を使用すると、次のようになります。

エラーが発生します:

私の唯一の推測では、Jinja2 を使用すると、テスト時にコンテキストが表示されなくなります。

このテストは意図的に失敗するように設定されていることに注意してください。

0 投票する
3 に答える
5570 参照

python - Django テストを実行する前に SQL ダンプをロードする

私はかなり複雑な Django プロジェクトを持っているため、データの読み込みにフィクスチャを使用することが困難/不可能になっています。

私がやりたいことは、テストランナーによってすべてのテーブルが作成された後、実際のテストの実行が開始される前に、実稼働データベース サーバーからデータベース ダンプをロードすることです。

MyTestCase.setUp() でさまざまな「魔法」を試しましたが、うまくいきませんでした。

どんな提案でも大歓迎です。ありがとう。

0 投票する
3 に答える
1660 参照

django - Django テストの自動化にはどのようなツールを使用できますか?

次のことを毎日(または毎時または基本的にいつでも)実行するテストランナーの自動化を検討しています。

  1. git リポジトリから最新のコードをプルします。
  2. Django テスト スイートまたは Nose などを実行します。
  3. Selenium テストを実行します。
  4. 合格/不合格およびカバレッジ統計を Web インターフェイス経由で提供します。
  5. 失敗した場合は、開発者に電子メールを送信します。

そこにはどのようなセットアップがありますか?私はいくつかのブログ投稿を見てきましたが、多くは Django 1.1 より前のものであり、そのリリースでテスト スイートが大幅に改善されたことを知っているので、最新で最適なオプションが何であるかに興味があります。