使用子文件夹进行Python单元测试发现

时间:2012-10-01 13:22:52

标签: python unit-testing discover

我的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文件不是问题,因为当我将它们移动到根目录时,它可以正常工作.. 我做错了什么?

2 个答案:

答案 0 :(得分:24)

__init__.pyimport目录中添加module

答案 1 :(得分:2)

如果您能够切换,请考虑使用nose而不是vanilla unittest模块。你不需要乱用自己的test.py文件或任何东西;一段nosetests会找到并运行所有测试。