Noseを使用してテストを検出し、実行します。すべてのテストはTestCase
互換の方法で記述されているため、すべてのテストランナーがを実行できます。問題は、テストが行われていないディレクトリがいくつかあることです。しかし、テストランナーはそこからテストを発見し続けます。それらのディレクトリの1つに多くのファイルがある場合、スタックします。では、どうすればそのディレクトリを除外できますか?
現在実行中です
nosetests --processes=10 --verbosity 2
しかし、scripts
というディレクトリがあり、そこからテストを見つけるのに何年もかかります。だから除外したい。私は試した
nosetests --processes=10 --verbosity 2 --exclude='^scripts$'
しかし、運がありません。
タスク専用の 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
構成キーを設定することもできます。 。
--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
参照: ノーズドキュメント 。
OPが要求したものではないかもしれませんが、鼻のドキュメントからのこの一口は、ファイルを検討対象から除外するのに役立つことがわかりました。
オブジェクトがTrueと評価されない
__test__
属性を定義している場合、そのオブジェクトは収集されず、それに含まれるオブジェクトも収集されません。