2011-10-15 12 views
7

ho questa classe di test:test smettere di correre se l'installazione solleva un'eccezione in Python unittest

class mytest(unittest.TestCase): 
    def setUp(self): 
     os.mkdir(...) 
     ... 

    def tearDown(self): 
     shutil.rmtree(...) 

    def test_one(self): 
     ... 

    def test_two(self): 
     ... 

Se qualcosa non riesce dopo mkdir ha funzionato durante l'esecuzione setUp di test_one, sarà ancora tentare di eseguire setUp di test_two. A questo punto ricevo un errore su mkdir perché rmtree non è stato eseguito.

C'è un modo per dire a Python unittest di interrompere l'esecuzione del test corrente se setUp fallisce? Sono non cercando di fermarmi in un normale test fallito.

+0

è hacky, ma si può solo rilevare le eccezioni nel 'metodo setUp' e non riescono di conseguenza – dm03514

+0

se la sua corretta si può accettare =) – JiminyCricket

risposta

11

Aggiungere una chiamata di errore nel metodo setUp.

def setUp(self): 
    try: 
     somethingThatMightFail() 
    except: 
     self.fail() 
Problemi correlati