2010-05-28 25 views
9

In uno dei miei progetti ho bisogno di collaborare con diversi sistemi di back-end. Alcuni di loro in qualche modo mancano nella documentazione, e in parte quindi ho un codice di test che interagisce con alcuni server di test solo per vedere tutto funziona come previsto. Tuttavia, l'accesso a questi server è piuttosto lento e quindi non voglio eseguire questi test ogni volta che eseguo la mia suite di test.Come saltare determinati test con Test :: Unità

La mia domanda è come affrontare una situazione in cui si desidera saltare determinati test. Attualmente utilizzo una variabile di ambiente 'BACKEND_TEST' e un'istruzione condizionale che controlla se la variabile è impostata per ogni test che vorrei saltare. Ma a volte vorrei saltare tutti i test in un file di test senza dover aggiungere una riga in più all'inizio di ogni test.

I test che devono interagire con i server di prova non sono molti, poiché utilizzo flexmock in altre situazioni. Tuttavia, non puoi prendere in giro te stesso lontano dalla realtà.

Come si può vedere dal titolo di questa domanda, sto usando Test :: Unità. Inoltre, se fa alcuna differenza, il progetto è un progetto Rails.

risposta

8

New Features Of Test Unit 2.x suggerisce che l'unità di prova 2.x (la versione gemma, non la libreria standard 1.8 rubino) consente di omettere i test.

+1

Grazie! In realtà ho letto la diapositiva in precedenza, ma non ho mai visto se 2.x fosse stato effettivamente pubblicato. Lo ha fatto e io lo guarderò più da vicino. –

+1

Si noti che l'omissione dei test li ha interrotti. Se non vuoi un gruppo di test non riusciti, puoi provare il salto di Minitest o semplicemente aggiungere una dichiarazione di ritorno in alcune condizioni nella parte superiore del test. – coberlin

+0

@coberlin - Nota: Omit solleva un'eccezione SOLO se non viene fornito alcun blocco. Puoi semplicemente passare il corpo del test come blocco. –