我的單元測試文件夾中組織這樣。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)。 –