13

py.testパッケージで実行しようとしていますがsetup.py、除外しようとしてもプロジェクトのルート ディレクトリから解析しようとしています。

テスト クラスはモジュールに含まれているため、*.py ファイルからテストを収集する必要があります。

# setup.cfg
[pytest]
norecursedirs = .svn _build tmp* lib/third lib *.egg bin distutils setup.py
python_files = *.py

それでも実行py.testすると、ERROR collecting setup.pyすでに除外したものが表示されます。

/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/distutils/core.py:140: in setup
>           raise SystemExit, gen_usage(dist.script_name) + "\nerror: %s" % msg
E           SystemExit: usage: py.test [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
E              or: py.test --help [cmd1 cmd2 ...]
E              or: py.test --help-commands
E              or: py.test cmd --help
E           
E           error: no commands supplied
4

4 に答える 4

19

次のように --ignore オプションを pytest.ini 構成に構成できます。

addopts = --ignore=setup.py

これは、ルート ディレクトリにいて、py.test に setup.py ファイルを無視させたい場合に役立ちます。

于 2012-05-29T20:54:51.320 に答える
2

ドキュメント(および変数の名前)からは、norecursedirsディレクトリをスキップするだけのように見えます。したがって、setup.pyはファイルであるため、ファイルを挿入しnorecursedirsても効果はありません。

http://pytest.org/latest/customize.html?highlight=norecursedirs#confval-norecursedirs

于 2012-05-29T18:20:14.380 に答える
0

Jediではconftest.pycollect_ignore = ["setup.py"]. _ それはそれを「魔法のように」機能させます。

setup.py私見 py.test は、それが非常に典型的なユースケースであるため、無視しやすくする必要があります。

于 2013-09-23T17:08:34.500 に答える