問題タブ [django-nose]
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.
python - Python カバレッジを使用したテスト結果のグループ化
Django 1.6 アプリケーションをテストしていますが、 と を使用してガイダンスが必要django-nose
ですcoverage
。Django アプリの構造は次のとおりです。
最上位appname
ディレクトリには、apps
すべての Django アプリを含むディレクトリがあります。完全なアプリケーションをテストすると、個々のアプリ内のすべてのパッケージ/モジュールの膨大なカバレッジ出力が表示されます。ただし、個々のファイル レベルではなく、アプリ レベルでカバレッジ結果 (ステートメント、ミス、カバレッジ %) をグループ化したいと考えています。
これはできますか?
関連する要件は次のとおりです。
python - テストで設定した属性を Nose に反映させることができません
私はDjango-nose 1.4とnose 1.3.6でDjango 1.7を使用しています。
ドキュメントによると、属性を使用して実行するテストを選択できるはずです。次のようなテスト セットがあります。
テストを実行しようとすると:
鼻は実行からすべてのテストを排除します。つまり、テストは実行されません。を使用しない場合-a
、すべてのテストが正常に実行されることに注意してください。私も試しました:
-a=isolation
-a isolation=menu
-a=isolation=menu
-a '!isolation'
isolation
属性は 1 つのクラスでのみ使用されますが、何も選択されないため、最後の属性はテスト スイートのほぼすべてを選択する必要があります。属性システム全体がどのように機能するかを理解していないだけだと思い始めています。
python - 単一の django-nose テストを実行しようとすると、admin.autodiscover() で ImportError が発生する
django-noseを使用して単一のテストを実行しようとしています:
そして、次の ImportError が発生します。
動作するすべてのテストを実行します./manage.py test
。この例外は、単一のテストまたはテスト クラスを実行しようとした場合にのみ発生します。ただし、すべてのテストを実行するには時間がかかりすぎるため、単一のテストを実行する方法が必要です。
アプリケーションと django 管理者も機能します。__init__.py
プロジェクトのルート ディレクトリにはありません。
django - django-nose で複数のプロセッサを使用すると、DatabaseError が生成されます
django-nose
実行時間を短縮するために、複数のプロセッサを使用してテスト スイートを実行しようとしています。1 つのプロセッサではすべてのテストに合格しますが、複数のプロセッサを使用すると、DatabaseError: server closed the connection unexpectedly
複数のプロセッサで単独で実行すると、90% の確率で失敗する 2 つのテストが見つかりました。AUserFactory
は で作業してaccounts_user
おり、aCustomerFactory
は で作業していaccounts_customer
ます。通過ログで、トランザクションが終了する前に最後のUPDATE
toが完了していることに注意してください。失敗したaccounts_customer
ログでは、トランザクションが既に閉じられているため、これは決して発生しません。UPDATE
accounts_customer
DatabaseError: server closed the connection unexpectedly
問題の原因を特定しようとしています。問題は、django または postgres がトランザクションを処理する方法にある可能性が最も高いと思いますが、以下のいずれかである可能性があります。
- ジャンゴ1.7
- パイソン2.7
- ジャンゴ鼻
- factory_boy
- ポストグル
postgres ログを渡す:
postgres ログの失敗:
スタックトレース:
python - django 移行のデバッグ ログを無効にするにはどうすればよいですか?
lafagundes question about south migration debug loggingと非常に似ていますが、私は南を使用していないことを除いて、プレーンな Django 1.7 の移行を使用しています。django-noseテスト ランナーも使用しています。
を実行するmanage.py test
と、キャプチャされたデバッグ ログ出力がありません。
たとえば、個々のテスト モジュールを実行する./manage.py test auctions.tests.utils_tests
と、デバッグ ログの出力django.db.backends.schema: DEBUG
に、Django の移行に関連するすべての行が含まれます。
これにより、実際の障害に戻ることが非常に困難になります。
この出力を無効にするにはどうすればよいですか? ジャンゴレベルかノーズレベルか?