Implementazione dell'interfaccia di test

3

Ho un'interfaccia nella nostra base di codice che vorrei essere in grado di prendere in giro per il test dell'unità. Sto scrivendo un'implementazione di test per consentire ai singoli test di essere in grado di ignorare i metodi specifici di cui sono interessati piuttosto che implementare ogni metodo.

Ho incontrato un dilemma su come dovrebbe comportarsi l'implementazione del test se il test non riesce a scavalcare un metodo usato dal metodo sotto test. Devo restituire un "non valore" (0, null) nell'implementazione del test o lanciare una UnsupportedOperationException per fallire esplicitamente il test?

    
posta Michael K 30.06.2011 - 17:56
fonte

1 risposta

4

La mia preferenza sarebbe sempre che l'eccezione fosse lanciata. E preferibilmente un'eccezione che non viene utilizzata da nessun'altra parte, in modo tale che tu possa facilmente rilevarlo nel caso in cui tutto ciò dovesse mai trasformarsi in un codice in tempo reale.

Ciò che chiami non valore è solo un valore reale nel tuo contesto attuale. Non appena il contesto cambia, sia 0 che null possono diventare valori di ritorno accettabili e quindi si ha un problema. Con l'eccezione non avrai mai questo problema. Inoltre: la maggior parte dei framework di testing consente di testare specificamente le eccezioni generate dai metodi in prova.

    
risposta data 30.06.2011 - 18:32
fonte

Leggi altre domande sui tag