2

プロジェクト内のすべてのテストケースを実行するために、nosetests を使用しようとしています。

プロジェクト ディレクトリに cd します。

cd projects/myproject

それから私は:

nosetests

どの出力:

----------------------------------------------------------------------
Ran 0 tests in 0.001s

OK

projects/myproject 内には Encode というパッケージがあり、パッケージ内にはテストを含む Test ディレクトリがあります。

Encode/
    __init__.py
    Video.py
    Ffmpeg.py
    Test/
        VideoTest.py
        FfmpegTest.py

ノーズテストが単体テストを検出しないのはなぜですか? 私の単体テスト クラスはすべて、unittest.TestCase を拡張します。

4

2 に答える 2

3

鼻のドキュメントから:

デフォルトで構成された testMatch 正規表現 ((?:^|[\b_\.-])[Tt]est) に一致する関数またはクラス – つまり、単語境界または - または _ の後に test または Test があります。 ) であり、その式にも一致するモジュールに存在し、テストとして実行されます。

ファイル名がパターンと一致しないため、テストが見つかりません。たとえば、Video_Test.py または Test_Video.py に変更します。ところで: 彼らがそのようなキャメルケースの名前を持っていることも奇妙ですが、それはそれらが機能するのを止めることはありません.

于 2012-06-29T14:47:30.657 に答える
1

noseサブディレクトリに埋め込まれている場合、テストは見つかりません。しかし、どこを見ればよいかを伝えることができるはずです。試してみてくださいnosetests --where=Encode/Test

于 2012-06-29T14:22:43.770 に答える