python unittests,我需要从tests / __ init__.py导入吗?

时间:2012-10-01 22:54:09

标签: python unit-testing

我的代码组织如下:

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 个答案:

答案 0 :(得分:1)

在主项目目录中尝试:

python -m unittest discover -v

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