我的单元测试文件夹中组织这样。Python的单元测试发现与子
.
|-- import
| |-- import.kc
| |-- import.kh
| `-- import_test.py
|-- module
| |-- module.kc
| |-- module.kh
| `-- module_test.py
`-- test.py
我想简单地运行test.py
使用单元测试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
文件有问题,因为当我将它们移动到根目录下,它工作正常.. 上午什么我做错了?
它的工作由刚刚接触到'__init __。py'文件,谢谢你。你能解释我为什么必须这样做吗?还有另一个解决方案吗?因为我正在和其他人一起工作,所以我希望测试是最简单的方法。 – tomahh
这是测试发现实施方式的人为因素。实质上,每个包含测试的目录都必须作为Python模块导入。更多信息请见的[文档](http://docs.python.org/2/library/unittest.html#test-discovery)。 –