In generale, si aggiungono tutti i passaggi prerequisiti a setUp e tutti i passaggi di pulizia a tearDown.
Puoi leggere di più con esempi qui .
Quando viene definito un metodo setUp (), il test runner eseguirà quel metodo prima di ogni test. Allo stesso modo, se viene definito un metodo tearDown (), il test runner invocherà quel metodo dopo ogni test.
Ad esempio, hai un test che richiede che gli elementi esistano o un determinato stato, quindi inserisci queste azioni (creazione di istanze di oggetti, inizializzazione di db, preparazione di regole e così via) nel setUp.
Inoltre, come sai, ogni test dovrebbe interrompersi nel punto in cui è stato avviato - questo significa che dobbiamo ripristinare lo stato dell'app al suo stato iniziale - ad esempio chiudere file, connessioni, rimuovere elementi appena creati, chiamare callback delle transazioni e così via - tutto questo i passaggi devono essere inclusi nel tearDown.
Quindi l'idea è che il test stesso dovrebbe contenere solo azioni che devono essere eseguite sull'oggetto di test per ottenere il risultato, mentre setUp e tearDown sono i metodi per aiutarti a lasciare il codice del test pulito e flessibile.
Puoi creare un setUp e un tearDown per una serie di test e definirli in una classe genitore, quindi sarebbe facile per te supportare tali test e aggiornare le preparazioni e le pulizie comuni.
Se stai cercando un esempio semplice, utilizza il seguente link con l'esempio