我的unittest文件夹以这种方式组织。
.
|-- import
| |-- import.kc
| |-- import.kh
| `-- import_test.py
|-- module
| |-- module.kc
| |-- module.kh
| `-- module_test.py
`-- test.py
我想简单地运行test.py
来使用unittest python模块运行每个*_test.py
。
目前,我的test.py包含
#!/usr/bin/env python
import unittest
if __name__ == "__main__":
suite = unittest.TestLoader().discover('.', pattern = "*_test.py")
unittest.TextTestRunner(verbosity=2).run(suite)
python文档说它应该自动在子文件夹中发现我的测试。但事实并非如此。
目前,它只输出
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
我确定我的*_test.py
文件不是问题,因为当我将它们移动到根目录时,它可以正常工作..
我做错了什么?
答案 0 :(得分:24)
在__init__.py
和import
目录中添加module
。
答案 1 :(得分:2)
如果您能够切换,请考虑使用nose而不是vanilla unittest
模块。你不需要乱用自己的test.py文件或任何东西;一段nosetests
会找到并运行所有测试。