2012-11-29 99 views
24

我遇到了一些單元測試。單元測試未運行

這是我能想出的最簡單的例子:

#testito.py 
import unittest 

class Prueba(unittest.TestCase): 

    def setUp(self): 
     pass 
    def printsTrue(self): 
     self.assertTrue(True) 

if __name__=="__main__": 
    unittest.main() 

問題是,運行此沒有任何效果:

$ python testito.py 

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

OK 

我抓我的頭,我看不出有任何上面的代碼有問題。 現在發生了幾次測試,我不知道下一步該怎麼做。 有什麼想法?

回答

49

默認情況下,只有與test啓動功能,其名稱是運行:

class Prueba(unittest.TestCase): 

    def setUp(self): 
     pass 
    def testPrintsTrue(self): 
     self.assertTrue(True) 

unittest basic example

一個TestCase,只需要繼承unittest.TestCase創建。三個單獨的測試用名稱以字母test開頭的方法定義。這個命名約定告訴測試運行者哪些方法代表測試。

+2

Gahhhhh!我知道這很愚蠢。 – tutuca

+6

這是一個令人沮喪的陷阱... – Charlie

+1

只是爲什麼testPrints而不是test_prints –