python unittests,是否需要从tests/\uuu init\uuuu.py导入?

python unittests,是否需要从tests/\uuu init\uuuu.py导入?,python,unit-testing,Python,Unit Testing,我的代码组织如下: 基础项目主任/高级工程师 /测验 /test1.py /test2.py 在test1.py和test2.py中,我有扩展unittest.TestCase的类 根据pythonapi文档,我应该能够运行 python-m从base dir进行单元测试,并运行所有测试。 但这样做表明它找到了0个测试。所以我补充说 从test1导入* 从test2导入* 进入tests/\uuuu init\uuuu.py 现在,上面的命令起作用了。但是当我想要运行单个测试时,它会从模块ini

我的代码组织如下:

基础项目主任/高级工程师 /测验 /test1.py /test2.py

在test1.py和test2.py中,我有扩展unittest.TestCase的类

根据pythonapi文档,我应该能够运行

python-m从base dir进行单元测试,并运行所有测试。 但这样做表明它找到了0个测试。所以我补充说 从test1导入* 从test2导入*

进入
tests/\uuuu init\uuuu.py

现在,上面的命令起作用了。但是当我想要运行单个测试时,它会从模块init中获取资源,该模块强制运行所有测试

正确的组织方式是什么

谢谢
Yang

在您的主项目目录中尝试以下内容:

python -m unittest discover -v

这样,您就不会更改相对导入的位置。当您执行
python-m unittest测试时
会首先切换到此目录,然后无法再导入项目代码。

谢谢,但实际上它仍然无法在src中找到依赖项代码,使用“discover”选项您是否拥有本地目录,即运行PYTHONPATH中所有内容的目录?否,是的,那可能有用。但是如果PythonUnitTest能够像maven那样识别“传统的dir结构”那就太好了,这样我就不必设置pythonpathI了,我也不是unittest的粉丝。不久前我看了py.test,它有另一个完全不同的理念,我非常喜欢。它还对单元测试结构有一些基本的支持,所以如果您只使用简单的单元测试结构,那么可以进行缓慢的迁移。也就是说,setUpClass和runTest当前自身没有标识。虽然runTest不是一个大问题,但只要monkeypatch all unittest.TestCases在从test_运行到runTest的包装器中加载,setUpClass就会更加棘手,我想可能需要一些元类黑客。