2

ファイルでのみテストを実行するようにノーズテスト フレームワークに指示できtest_*.pyますか?

実際にnosetests Aは、次のディレクトリ構造を使用します。

A/
  test_A.py
  B/
    __init__.py

避けたい B をインポートします。

import numpyこれは、ユーザーがオプションの NumPy モジュールをインストールしている場合にのみ使用することを意図しているため、B モジュールが で始まるためです。ただし、NumPy をインストールしていないユーザーは、NumPy がオプションであってもB/__init__.py必ず失敗するため、nosetests を処理したくありません。import numpyこれはどのように達成できますか?

4

4 に答える 4

4

インポートをtry:..except ImportError:...ブロックでラップするだけです。その場合、numpy が使用可能かどうかを知らせる変数を設定することもできます。

于 2011-04-26T12:59:13.237 に答える
2

--match と --exclude コマンド ライン オプションを使用して、nose がテスト プログラムとして検出するものを制限してください。

于 2011-04-27T01:49:21.783 に答える
1

Nose は、ディレクトリ、ファイル、モジュール、クラス、およびメソッド レベルでテストを受け入れ/拒否できます。B ディレクトリを拒否する必要があります。__init__.pyファイルを無視する方法はありません。Pythonはそれを見ません。がインポートされたときに表示されるBため、無視する必要がありますB

試す:

nosetests --exclude=B
于 2013-01-16T20:39:48.990 に答える
0

鼻除外プラグインが役立つと思います。このプラグインをインストールしてから実行すると、次のようになります。

    nosetests --exclude-dir B

それはあなたのために働くかもしれません。私は同じ問題を抱えており、まずまずの結果を達成しました。私の次の問題はexclude-dir、nosetests 構成ファイルを作成するときに、 が使用可能なオプションではないように見えることです。

于 2013-10-08T20:58:16.527 に答える