我的单元测试文件夹是这样组织的。

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

我只想跑 test.py 运行我的每一个 *_test.py 使用unittest python模块。目前,我的 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 在里面 importmodule 目录。

其他提示

考虑使用 鼻子 而不是香草 unittest 模块,如果您能够切换。你不需要搞乱你自己的 test.py 文件或任何东西;运行的 nosetests 将找到并运行您的所有测试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top