Siamo di fronte a un problema nella gestione dei dati di test (xmls che viene utilizzato per creare oggetti fittizi). I dati che abbiamo attualmente si sono evoluti per un lungo periodo di tempo. Ogni volta che aggiungiamo nuove funzionalità o test case, aggiungiamo nuovi dati per testare tale funzionalità. Ora, il problema è quando i requisiti aziendali cambiano il formato (come la lunghezza o il formato di una variabile) o qualsiasi cambiamento che i dati di test non supportano, abbiamo bisogno di cambiare l'intero dato di test che è di 100s di MB in dimensioni. Qualcuno potrebbe suggerire un metodo o un processo migliore per superare questo problema? Qualsiasi suggerimento sarebbe apprezzato.Gestione dei dati di test per i test Junit
risposta
Personalmente, starei lontano dalla creazione di dati per il caso di test in qualsiasi altro posto all'interno dei casi di test. Invece di creare dati di test, crea generatori di dati che consentono la generazione rapida di oggetti all'interno di ogni caso di test o all'interno di ciascun blocco precedente.
Questo ha due vantaggi principali:
- rende il test più facile da leggere come lo sviluppatore può vedere esattamente quali vengono utilizzati oggetti e
- Va notevolmente ridurre la quantità di prova dati che devi gestire
Riservare i dati di test per test funzionali e di integrazione e utilizzare uno strumento come DBDeploy per gestire tali dati. Questi dati devono essere mantenuti intenzionalmente piccoli. L'utilizzo di DBDeploy e DBUnit consente di pulire il database prima di ogni test o suite di test. Questo dovrebbe anche limitare la quantità di dati di cui hai bisogno poiché aumenta notevolmente il riutilizzo dei dati.
Mentre questa non è una soluzione completa al problema, ma sarebbe sicuramente aiutare (specialmente nel vostro caso poiché avete 100s di MB di dati) - Scrivere test basati sulla verifica comportamento invece di dati di verifica.
Martin Fowler ha un ottimo articolo here
Grazie Mihir. Trovato l'articolo utile. – nobody
- 1. Raggruppamento di test JUnit
- 2. Test basati sui dati con jUnit
- 3. Come gestire i dati dei test per i test di accettazione in progetti di grandi dimensioni?
- 4. Pulizia dopo tutti i test di junit
- 5. JUnit test si blocca
- 6. Java - Generatori di test JUnit
- 7. Un test watcher di riportare i risultati dei singoli test in JUnit Suite
- 8. junit test case generator
- 9. Dove inserire i dati per i test automatici con test?
- 10. Test JUnit di base per JavaFX 8
- 11. JUnit opzionali test/richieste
- 12. Struts 2.3.14 junit test
- 13. JUnit descrizione del test
- 14. JUnit esegue i test case in sequenza?
- 15. Classe di test JUnit generica
- 16. FindBugs filtra il file per ignorare i test di JUnit
- 17. Configurare il server di posta configurabile per i test JUnit?
- 18. Tempo di registrazione necessario per eseguire i test JUnit
- 19. unità di archiviazione dei dati di test
- 20. Classe di test Junit con più metodi @Test
- 21. Dati dei semi nei test di cetriolo
- 22. Inizializza e pulisce i dati per test per test paralleli in TestNG
- 23. Rimozione dei messaggi di logback `INFO` da Maven Console per i test di junit
- 24. Spring Parameterized/Theories JUnit Test
- 25. Test JUnit per un timeout previsto
- 26. Test Wrapping JUnit (in Eclipse)
- 27. Escludere alcuni test JUnit dalla suite di test automatizzata
- 28. scrivere eclipse junit plugin test
- 29. Nessun file generato da Dagger2 per i test JUnit
- 30. scrittura test JUnit per l'attuazione Primavera Validator
Grazie Chris. Era una buona intuizione. – nobody