Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 蟒蛇鼻唐';无法更改工作目录路径_Python_Unit Testing_Nose - Fatal编程技术网

Python 蟒蛇鼻唐';无法更改工作目录路径

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

我鼻子有问题。 我想在测试目录中运行测试,但不想更改工作目录。这是因为我在库中使用相对导入,而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

这个很好用

现在,我想用鼻子做这个(鼻子测试)

当我尝试它时,我得到以下结果:

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中所述的各种第三方命名空间包方法的启发)