Ho problemi nell'organizzazione del test di classe basato su unittest
per la famiglia di test. Ad esempio, suppongo di implementare un'interfaccia "dizionario" e di avere 5 diverse implementazioni che desiderano testare.test di riutilizzo unittest per famiglie di classi
Scrivo una classe di test che verifica un'interfaccia del dizionario. Ma come posso riutilizzarlo per testare tutte le mie lezioni? Finora faccio brutta:
DictType = hashtable.HashDict
In cima di file e quindi utilizzare DictType
nella classe di test. Per testare un'altra classe, cambio manualmente il DictType
in qualcos'altro.
Come si può fare diversamente? Non è possibile passare argomenti alle classi unittest
quindi c'è un modo migliore?
oh, molto bello, 10x alex – zaharpopov
Sto provando ad usare questo modello ma sto ricevendo errori (es. 'TypeError: 'NoneType' oggetto non è callable') perché il framework' unittest' esegue i test nel contesto di 'MappingTestBase' e anche le classi derivate. C'è un modo per evitare che ciò accada ? – user200783
@PaulBaker, certo, è possibile creare la suite di test che si desidera eseguire in modo esplicito, ad esempio utilizzando la classe 'TestLoader', vedere https://docs.python.org/2/library/unittest.html#unittest.TestLoader ad esempio, sottoclassi e sovrascrivendo 'getTestCaseNames' per restituire' [] 'per le classi i cui metodi di test non vuoi eseguire, oppure potresti decorare tutti i metodi di test per tornare solo se' self.dicttype è None'. gli approcci funzionano bene. –