35

我的 unittest 文件夹是这样组织的。

.
|-- import
|   |-- import.kc
|   |-- import.kh
|   `-- import_test.py
|-- module
|   |-- module.kc
|   |-- module.kh
|   `-- module_test.py
`-- test.py

我想简单地运行以使用unittest Python 模块test.py运行我的每一个。*_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文件的问题,因为当我将它们移动到根目录时,它工作正常。我做错了什么?

4

2 回答 2

43

添加__init__.pyimport目录module

于 2012-10-01T13:34:21.957 回答
3

如果可以切换,请考虑使用鼻子而不是香草模块。unittest你不需要弄乱你自己的 test.py 文件或任何东西;a run ofnosetests会找到并运行你所有的测试。

于 2012-10-01T13:38:19.077 回答