Python 蟒蛇鼻唐';无法更改工作目录路径
我鼻子有问题。 我想在测试目录中运行测试,但不想更改工作目录。这是因为我在库中使用相对导入,而unittests本身也在使用 首先是目录结构:Python 蟒蛇鼻唐';无法更改工作目录路径,python,unit-testing,nose,Python,Unit Testing,Nose,我鼻子有问题。 我想在测试目录中运行测试,但不想更改工作目录。这是因为我在库中使用相对导入,而unittests本身也在使用 首先是目录结构: app_dir app.py library_dir tests_dir test_1.py test_2.py 我目前正在app\u dir目录中运行这样的测试: python-m unittest discover-s library\u dir.tests\u dir
app_dir
app.py
library_dir
tests_dir
test_1.py
test_2.py
我目前正在app\u dir
目录中运行这样的测试:
python-m unittest discover-s library\u dir.tests\u dir
这个很好用
现在,我想用鼻子做这个(鼻子测试)
当我尝试它时,我得到以下结果:
nosetests library_dir.tests_dir --collect-only -vv
Failure: SystemError (Parent module '' not loaded, cannot perform relative import) ... ok
Failure: SystemError (Parent module '' not loaded, cannot perform relative import) ... ok
我已经研究过类似的问题(有很多),对于这个问题,我可以看到一个建议是从unittest本身中删除相对导入,但我喜欢这种模式。此外,如果我更改为绝对导入,我会得到一个
(没有名为“Whoops”的模块,看起来我需要做的只是将\uuu init\uu.py
添加到库和子目录tests目录中。我当时的工作假设nose将与PEP 420一样工作
大宗报价
PEP 420:隐式命名空间包
本机支持不需要init.py标记文件且可自动跨越多个路径段的包目录(受PEP 420中所述的各种第三方命名空间包方法的启发)