2
我有以下目錄:py.test和norecursedirs granuarity
./Tools
./ook/Tools.
我在setup.cfg
添加Tools
到py.test的norecursedirs
選項。正如預期的那樣,當py.test收集測試時,./Tools
未被探索。但是,既不是./ook/Tools
,這是一個問題,因爲我想這一個。
任何想法如何實現這一目標?
我有以下目錄:py.test和norecursedirs granuarity
./Tools
./ook/Tools.
我在setup.cfg
添加Tools
到py.test的norecursedirs
選項。正如預期的那樣,當py.test收集測試時,./Tools
未被探索。但是,既不是./ook/Tools
,這是一個問題,因爲我想這一個。
任何想法如何實現這一目標?
norecursedirs的值是一個glob模式,爲了匹配完整路徑,模式必須包含/字符。不幸的是,這個匹配的完整路徑是絕對路徑,所以如果你只想要基礎工具,你將不得不包含父目錄名稱:
$ 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 ===============================
+1。感謝您提供清晰有用的答案。 – Sardathrion