2

私はこれらのディレクトリを持っています:

./Tools
./ook/Tools.

の py.test のオプションに追加Toolsしました。予想どおり、py.test がテストを収集するときは調査されません。しかし、どちらもそうではなく、これが欲しいのでこれは問題です。norecursedirssetup.cfg./Tools./ook/Tools

これを達成する方法はありますか?

4

1 に答える 1

3

norecursedirs の値はグロブ パターンであり、フル パスで一致させるには、パターンに / 文字を含める必要があります。残念ながら、これが照合されるフル パスは絶対パスであるため、ベース ツールのみが必要な場合は、親ディレクトリ名を含める必要があります。

$ find root/
root/
root/Tools
root/Tools/test_foo.py
root/Tools/__init__.py
root/setup.cfg
root/ook
root/ook/Tools
root/ook/Tools/test_foo.py
root/ook/__init__.py
$ cat root/setup.cfg
[pytest]
norecursedirs = root/Tools
$ py.test --collectonly root/
============================= test session starts ==============================
platform linux2 -- Python 2.7.3 -- pytest-2.2.1
collected 1 items 
<Module 'root/ook/Tools/test_foo.py'>
  <Function 'test_foo'>

===============================  in 0.01 seconds ===============================
于 2012-09-27T13:23:17.937 に答える