Devo memorizzare i file di test nel controllo del codice sorgente?

8

Ho un numero di file di test (grandi) che devono essere mantenuti. Ciò significa che l'accesso alla loro cronologia è un requisito.

Vantaggi

  • Ogni nuovo sviluppatore ottiene l'intera suite di test con solo git pull .
  • Viene eseguito il backup della cronologia dei file.
  • I file stessi vengono sottoposti a backup.

Inconvenienti

  • Enorme aumento delle dimensioni del repository.
  • Enorme aumento delle dimensioni di download dei nuovi sviluppatori che copiano il repository.

Quali sono le migliori pratiche per il mantenimento dei file di test?

Conservo questi file nel controllo del codice sorgente? Ci sono alternative?

    
posta sdasdadas 26.09.2013 - 20:07
fonte

3 risposte

12

Memorizzali nel controllo del codice sorgente. I benefici elencati sono tutti molto buoni. Quando dici che fare questo risulterà in una dimensione "enorme", quanto stai parlando enorme? 100 di gigabyte? Terabyte?

Se lo storage è davvero un grosso problema, puoi comprimere i file, archiviare il file zip nel controllo sorgente e avere uno script che li decomprime quando vengono eseguiti i test case? Si perderebbe la cronologia dettagliata di ciascun file in quel modo (a meno che non si riesca a trovare uno strumento che decomprimi e mostri la cronologia in memoria), ma i nuovi sviluppatori avranno ancora un facile accesso ai file di test.

A seconda della natura dei dati del test, è possibile avere uno script per generare file di test. Questo potrebbe funzionare se stai testando immagini molto grandi che possono essere generate proceduralmente (gli inserimenti SQL per popolare un database possono anche essere generati facilmente da un programma o uno script), ma questa tecnica non si applica a tutti i tipi di dati di test ...

    
risposta data 26.09.2013 - 20:14
fonte
5

Li memorizzerei nel controllo del codice sorgente. C'è mai un caso in cui si desidera la suite di test senza il codice? Non ha senso C'è mai un caso in cui si desidera modificare il codice senza aggiornare la suite di test? Non dovrebbe esserci.

Il drawback 1 non dovrebbe essere un problema dato i prezzi di archiviazione in questi giorni, ei moderni sistemi SCM dovrebbero rendere l'attività di rete non una preoccupazione al di fuori della configurazione iniziale.

Il tuo limite 2 non sembra che dovrebbe essere molto. Con quale frequenza hai nuovi sviluppatori a bordo di questo progetto che il tempo di clonazione iniziale diventa un problema?

    
risposta data 26.09.2013 - 20:16
fonte
2

Li memorizzerei in un repository diverso. Gli svantaggi che hai citato sono inevitabili se hai una suite di test ingombrante.

    
risposta data 27.09.2013 - 05:04
fonte

Leggi altre domande sui tag