我希望將我的應用程序的文件放在/ Files文件夾下,而將測試單元放在/ UnitTests中,這樣我就可以清楚地分開應用程序和測試。Python單元測試:在另一個模塊中運行測試
爲了能夠使用與mainApp.py相同的模塊路由,我在根文件夾中創建了一個testController.py。
mainApp.py
testController.py
Files
|__init__.py
|Controllers
| blabla.py
| ...
UnitTests
|__init__.py
|test_something.py
因此,如果test_something.py我想測試一個功能,那就是在/Files/Controllers/blabla.py,我嘗試以下方法:
import unittest
import Files.Controllers.blabla as blabla
class TestMyUnit(unittest.TestCase):
def test_stupid(self):
self.assertTrue(blabla.some_function())
if __name__ == '__main__':
unittest.main()
然後從文件testController.py,我執行下面的代碼:
import TestUnits.test_something as my_test
my_test.unittest.main()
,輸出沒有故障,但沒有測試執行
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
[Finished in 0.3s]
我曾嘗試使用沒有依賴性的測試,如果爲「主要」工程執行,而是從外部調用時,輸出相同:
import unittest
def tested_unit():
return True
class TestMyUnit(unittest.TestCase):
def test_stupid(self):
self.assertTrue(tested_unit())
if __name__ == '__main__':
unittest.main()
問題:我如何得到這個工作?
這是一個小有點冗長,但它的工作原理,謝謝。 – bgusach 2013-03-11 12:25:54