Xcode supporta tre tipi principali di test. I test funzionali si concentrano sulla funzionalità del codice. I test delle prestazioni si concentrano sulla misurazione del tempo di esecuzione. I test dell’interfaccia utente si concentrano sui flussi attraverso l’interfaccia utente. I test funzionali e delle prestazioni sono funzioni che scrivi. Ogni funzione imposta un ambiente per il test, esegue le parti mirate dell’app e abbatte l’ambiente di test. I test dell’interfaccia utente sono registrazioni effettuate mentre si utilizza l’app.
Il tipo più comune di test funzionali è il test unitario. Un’unità di codice è il componente testabile più piccolo del progetto, ad esempio un metodo in una classe o un insieme di metodi che soddisfano uno scopo essenziale. I test unitari vengono spesso utilizzati per rilevare le regressioni introdotte dalle modifiche al codice di un progetto. Alcuni sviluppatori scrivono prima test unitari e quindi implementano metodi che superano i test.
I test delle prestazioni misurano il tempo necessario alla tua app per completare un’attività su diversi tipi di dispositivi. Xcode tiene traccia dei tempi per diverse configurazioni e si scelgono le linee di base dai valori misurati.
Un test case esercita un’unità di codice in un modo specifico o misura una parte specifica delle prestazioni della tua app; se il risultato del test è diverso dal risultato atteso, il test case fallisce. Una suite di test è costituita da un insieme di casi di test.
Quando si crea un progetto o un target, Xcode include un target di test unitario nello schema che crea l’app. Il file di implementazione per la destinazione include stub per i metodi setUp
tearDown
e testExample
. Completa queste implementazioni stub e aggiungi altro codice se necessario per eseguire test unitari sulla tua app.
Esegui tutti i test scegliendo Product > Test. Fare clic sull’icona Test Navigator per visualizzare lo stato e i risultati dei test. È possibile aggiungere un target di test a un progetto (o aggiungere una classe a un test) facendo clic sul pulsante Aggiungi ( + ) nell’angolo in basso a sinistra del navigatore test. Per visualizzare il codice sorgente di un particolare test, selezionarlo dall’elenco test. Il file si apre nell’editor del codice sorgente.
Per eseguire una suite di test, fare clic sulla freccia a destra del nome. Per eseguire un sottoinsieme di metodi di test, selezionarli nel navigatore test e scegliere Prodotto > Esegui azione > Esegui metodi di test. Per eseguire un singolo metodo di prova, fare clic sulla freccia a destra del nome del metodo. Scegliere Product > Test per eseguire tutti i test nello schema attivo.
Quando un test ha esito positivo, un diamante verde con un segno di spunta che indica il successo appare a destra del nome del test. Quando un test fallisce, un diamante rosso con una X che indica l’errore appare a destra del nome del test e il problema viene visualizzato nel navigatore problemi. Per visualizzare il problema, fare clic sul pulsante Issue Navigator () nella barra di navigazione.
Per visualizzare solo i test non riusciti, fare clic sul pulsante Test non riuscito () nella parte inferiore del navigatore di test. Selezionare un metodo non riuscito per esaminarlo nell’editor del codice sorgente. Dopo aver affrontato il motivo dell’errore, fare clic sull’indicatore di test non riuscito (un diamante rosso con una X) per rieseguire il test.
Mostra i metodi di test correlati in un assistente editor scegliendo la categoria Classi di test o Chiamanti di test dal menu a comparsa Assistente.
Per maggiori dettagli sulla scrittura, l’esecuzione e la visualizzazione dei test, vedere Test con Xcode.