关于单元测试:python单元测试,我需要从tests / __ init__.py导入吗?

python unittests, do I need to import from the tests/__init__.py?

我的代码组织如下:

base_project_dir/ src目录
/测试
/test1.py
/test2.py

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

根据python API doc,我应该能够运行

python -m unittest测试基础目录并运行所有测试。
但这样做表明它找到了0个测试。 所以我补充道
来自test1 import *
来自test2 import *

进入tests/__init__.py

现在上面的命令有效。 但是当我想运行单独的测试时,它会获得模块init,它强制运行所有测试。

组织这个的正确方法是什么?

谢谢


在您的主项目目录中尝试这个:

1
python -m unittest discover -v

这样您就不会更改相对导入的位置。 当你执行python -m unittest tests时,它首先切换到该目录,然后再不能导入项目代码。