web-dev-qa-db-ja.com

ディレクトリを除いて、python nosetestのモジュール

Noseを使用してテストを検出し、実行します。すべてのテストはTestCase互換の方法で記述されているため、すべてのテストランナーがを実行できます。問題は、テストが行​​われていないディレクトリがいくつかあることです。しかし、テストランナーはそこからテストを発見し続けます。それらのディレクトリの1つに多くのファイルがある場合、スタックします。では、どうすればそのディレクトリを除外できますか?

現在実行中です

nosetests --processes=10 --verbosity 2

しかし、scriptsというディレクトリがあり、そこからテストを見つけるのに何年もかかります。だから除外したい。私は試した

nosetests --processes=10 --verbosity 2 --exclude='^scripts$'

しかし、運がありません。

18
Shiplu Mokaddim

タスク専用の nose-exclude プラグインがあります。

nose-excludeは、テストから除外するディレクトリを簡単に指定できるNoseプラグインです。

他の機能の中でも、exclude-dirと呼ばれる新しいコマンドライン引数が導入されています。

nosetests --processes=10 --verbosity 2 --exclude-dir=/path/to/scripts

コマンドライン引数を渡す代わりに、NOSE_EXCLUDE_DIRS環境変数を設定するか、 exclude-dirまたは.nosercファイルnose.cfg構成キーを設定することもできます。 。

19
alecxe

--ignore-files引数を使用して、特定のファイルを除外することもできます。これは正規表現を使用しているため、scripts/フォルダー内のファイルに特定のプレフィックスで始まる名前を付けて、正規表現で照合するために使用できます。

# Exclude just one test file
nosetests your_package --ignore-files="tests_to_exclude\.py" -v
# Exclude all python scripts beginning with `testskip_`
nosetests your_package --ignore-files="testskip_.+\.py" -v

参照: ノーズドキュメント

11
gaborous

OPが要求したものではないかもしれませんが、鼻のドキュメントからのこの一口は、ファイルを検討対象から除外するのに役立つことがわかりました。

オブジェクトがTrueと評価されない__test__属性を定義している場合、そのオブジェクトは収集されず、それに含まれるオブジェクトも収集されません。

1
Kaos