Test funzionali per lo script di gestione SVN

2

Ho uno script Python che è responsabile dell'aggiornamento del repository SVN (in poche parole) e del suo controllo.

Ora mi piacerebbe scrivere alcuni test funzionali per lo script. Per verificare se l'aggiornamento SVN è stato eseguito correttamente, ho un'idea per lo scenario di test manuale, per verificare il primo numero di revisione di un particolare percorso, eseguire l'aggiornamento SVN effettivo e verificare se il numero di revisione è cambiato.

Ma mi chiedo quale sia il modo migliore per testare qualcosa del genere con Python.

Dovrei davvero eseguire l'aggiornamento SVN, che potrebbe richiedere molto tempo? O forse questo è un buon posto per i mock? (Non ho mai usato nessun finto, ma è giusto che io sappia che sono principalmente dedicati ai test unitari, non ai test funzionali). Se i mock sono a posto - potresti consigliarmi come progettare questo tipo di test?

    
posta mchfrnc 22.05.2018 - 13:24
fonte

1 risposta

2

Dipende da cosa fa esattamente lo script, quale logica esegue e in quale parte dello script ti aspetti più bug.

Ad esempio, se lo script raccoglie alcuni file con alcune regole specifiche e poi genera una o più chiamate alla riga di comando abbastanza semplici che utilizzano il programma di riga di comando svn , il mocking della chiamata a svn è probabilmente ok - si desidera prova le regole, non correttezza del comando svn .

Tuttavia, se la correttezza funzionale dipende da un set di parametri complessi per il comando svn generato dallo script Python, è forse meglio testare la cosa "reale" senza mock (ma non contro il tuo repository di produzione reale) . Consiglierei di utilizzare un repository di file locale, non un server SVN completo, per un test del genere. In questo modo, come preparazione per i test, puoi facilmente copiare una piccola cartella di repository preparata in una directory di lavoro e fare tutti i check-in / checkout contro questa copia locale. Questo ti dà sempre una linea di base definita per i test.

Nota inoltre, se lo script non è di grandi dimensioni e difficilmente verrà modificato in seguito, dovresti considerare anche se la creazione di un test automatico vale davvero la pena e se il test manuale non è sufficiente.

    
risposta data 22.05.2018 - 14:11
fonte

Leggi altre domande sui tag