問題タブ [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 - Nose が重複したテストを実行して報告しないようにするにはどうすればよいですか?
私はdjango-noseを使ってDjangoプロジェクトをテストしています。次のように、Django のアプリケーション内で大きなテスト スイートを分割するのが一般的です。
tests/__init__.py
次のようになります。
Django は でテストを探すのでmyapp.tests
、すべて期待どおりに動作します。一方、Nose は でテストを見つけて、tests_*.py
に再度インポートします__init__.py
。これにより、レポートされるテストの総数が本来の 2 倍になります。
django-nose とデフォルトの Django テストランナーの両方でテストを正しく報告するこの問題を回避する方法 (サブモジュールを使用しない以外) はありますか?
python - 鼻・のせがえ:輸入トラブル
私はこの問題を抱えていて、気が狂いそうです!
それで、私は初めての実際の Google App Engine アプリケーションを開発しています。テストを書いている間、常に何かを発見するのが好きです。
したがって、次のセットアップがあります
。nose、nosegae、webtest、およびgaetestbedを備えたvirtualenvがあります。それはpokesvrと呼ばれます。
次のように virtualenv をアクティブにします。
ノーズを実行するには、次のコマンドを使用します。
これにより、次のエラーが表示されます
そのため、最初は「ノーズは dev_appserver の「コンテキスト」でアプリケーションを実行しているため、webtest を認識していない」と考えました。
ただし、新しいディレクトリを作成し、小さな GAE アプリケーションを追加したことを確認してください。-main.py
-app.yaml -test_huh.py (
webtest
モジュールをインポートします。)
今、私を本当に混乱させたのは、これがうまくいくということです。私はnosetestsコマンドを実行しましたが、実際にテストに合格しています。
そこで私は自分のアプリケーションを掘り下げて何が違うのかを調べ始めましたが、本当に壁にぶつかりました。
エラーに「アクセス...拒否」と表示されているため、最初は許可の問題である可能性があると考えましたが、特別なことは何も見つかりませんでした。次に、virtualenv の前にアプリケーションを作成したことが原因ではないかと考えましたが、これがどのように問題になるかは実際にはわかりませんでした。
ですから、なぜこれが起こるのか、誰かが手がかりを持っているなら、私は本当に感謝しています.
python - 関数がノーズテストで警告を発することを確認します
noseを使用して単体テストを作成していますが、関数が警告を発するかどうかを確認したいと思います(関数はを使用しますwarnings.warn
)。これは簡単にできることですか?
python - Python 単体テスト: ノーズに失敗したアサーション値を表示させる
失敗したアサーション値を表示することは可能ですか? トレースバックとスローされた例外の種類が表示されますが、どの値が失敗したかを知る方が実用的です。
例:
python - すべてのpythonファイル内のテストを探すためにpy.testまたはnoseを作成する方法は?
テストが内部にあるいくつかの小さなモジュールがあり、ファイル名に含まれていないため、それらを検索しませんpy.test
。nose
test
py.test
すべてのpythonファイル内のテストを再帰的に説得または検索するにはどうすればよいですかnose
- '''ファイル名にないものも含めてtest
'''?
ソース ファイル内では、標準の命名規則を守っています: class testSomeName
with methods def test_some_name
.
これが不可能な場合、同じ結果を得るために他にどのような解決策を使用できますか?
テストを含むすべてのファイルのリストを手動で作成したくありません。検出をサポートするソリューションが必要です。
testing - パイロンでノーズを使用して単一のテストを実行するにはどうすればよいですか
test/functionalディレクトリにたくさんのテストがあるPylons1.0アプリがあります。奇妙なテスト結果が得られたので、1つのテストだけを実行したいと思います。ノーズのドキュメントには、コマンドラインでテスト名を渡すことができるはずだと書かれていますが、何をしてもImportErrorsが発生します
例えば:
与える:
同じエラーが発生します
正しい構文は何ですか?
python - Python AssertionErrorのメッセージを変更するにはどうすればよいですか?
私は次のように書いています。Unicodeテキストの2つの複数行ブロックを比較するときに、まともなエラーメッセージを生成しようとしています。比較を行う内点法はアサーションを発生させますが、デフォルトの説明は私には役に立ちません
以下のようなコードに何かを追加する必要があります。
キャッチしたassertionerrorに出力されたエラーメッセージを変更する方法がわかりません。私は常にAssertionError: u'something' != 'something else'
、出力の最初の行のみを表示するを取得します。
アサーションメッセージを変更して、必要なものをすべて印刷するにはどうすればよいですか?
nose
関連する場合は、テストの実行に使用しています。
python - ニシキヘビの鼻とねじれた
Twisted を使用して URL からデータをダウンロードする関数のテストを作成しています (twisted.web.client.getPage については知っていますが、これはいくつかの追加機能を追加します)。いずれにせよ、プロジェクト全体で使用しているため、この特定のテストにのみ Twisted Trial を使用するのは適切ではないように思われるので、nosetests を使用したいと考えています。だから私がやろうとしていることは次のようなものです:
localhost:8000 でテスト サーバーをリッスンします。問題は、常に twisted.internet.error.DNSLookupError を受け取ることです。
DNSLookupError: DNS lookup failed: address 'localhost:8000' not found: [Errno -5] No address associated with hostname.
これを修正する方法はありますか?実際にnose.twistedtoolsを使っている人はいますか?
更新: より完全なトレースバック
更新 2
私の悪い、それは getPage の実装のようです、私は次のようなことをしていました:
obj = urlparse.urlparse(url)
netloc = obj.netloc
そして、渡すべきだったときに工場に netloc を渡しますnetloc.split(':')[0]
python - Pythonのノーズユニットテストのティアダウンフィクスチャが失敗した理由
私はノーズテストフレームワークを使用しています。テスト モジュールを実行すると、そのモジュールで定義されたティアダウン関数が失敗しました。発生したエラーは、フィクスチャが別のプロセスによってロックされていることを示しています。ここに私のテストモジュール、test_my_module.pyがあります:
test_output_dir には、フィクスチャとして使用されている db(sqlite3) ファイルがあります。実際には、他のプロセスによってロックされているため、ティアダウンで削除できないのはその db ファイルです。私の理解では、すべてのテスト関数の実行が終了した後、ティアダウンが常に実行されます。では、なぜそれが起こるのですか?これらのテスト関数が db ファイルをロックできるのはなぜですか? それはsqlite3の問題ですか、それとも私のテストコードに問題がありますか?
python - pycharmからnosetestを実行するにはどうすればよいですか?
すべての単体テストを実行するためにpycharmからnosetestを実行するにはどうすればよいですか?
pycharm が python の unittest と py.test をサポートしていること、および pycharm 1.1 で NOSETEST を適切にサポートすることは知っていますが、回避策があるかどうか疑問に思っていました。