Python unittest discovery with subfolders

≡放荡痞女 提交于 2019-12-30 07:52:26

问题


My unittest folder is organized this way.

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

I'd want to simply run test.py to run each of my *_test.py using unittest python module. Currently, my test.py contains

#!/usr/bin/env python

import unittest

if __name__ == "__main__":
    suite = unittest.TestLoader().discover('.', pattern = "*_test.py")
    unittest.TextTestRunner(verbosity=2).run(suite)

The python documentation says that it should automatically discover my test in the subfolders. But it does not.

At the moment, it only outputs

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

I'm sure it is not a problem with my *_test.py file, because when I move them into the root directory, it works fine.. What am I doing wrong ?


回答1:


Add __init__.py in the import and module directories.




回答2:


Consider using nose instead of the vanilla unittest module, if you are able to switch. You won't need to mess around with your own test.py file or anything; a run of nosetests will find and run all your tests.



来源:https://stackoverflow.com/questions/12674167/python-unittest-discovery-with-subfolders

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!