2012-11-29 18 views
24

Mi sto bloccando con alcune attivazioni.Unit Test non in esecuzione

Ecco l'esempio più semplice che potrei venire con:

#testito.py 
import unittest 

class Prueba(unittest.TestCase): 

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

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

Il problema è che l'esecuzione di questo non ha alcun effetto:

$ python testito.py 

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

OK 

sto graffiare la mia testa come io non vedo alcun problema con il codice sopra. E 'successo con un paio di test ora e non so davvero cosa fare dopo. Qualche idea?

risposta

49

Per impostazione predefinita, solo le funzioni il cui nome che iniziano con test gestiscono:

class Prueba(unittest.TestCase): 

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

Dal unittest basic example:

Una testcase viene creato sottoclasse unittest.TestCase. I tre test individuali sono definiti con metodi i cui nomi iniziano con le lettere test. Questa convenzione di denominazione informa il runner di test su quali metodi rappresentano i test.

+2

Gahhhhhh! Sapevo che era una cosa sciocca. – tutuca

+6

Questo è un trucco frustrante ... – Charlie

+1

solo vagare perché testPrints invece di test_print –