Come testare il file generato senza logica di generazione del nome hardcoding?

3

Ho un'unità che sto testando, che genera un nome di file e salva qualcosa lì. Dovrò estrarre il file da quella posizione per verificare che sia stato archiviato correttamente. So come viene generato il nome del file, tuttavia, la logica per la generazione del nome di file durante i miei test mi sembra un 'Numero magico'. C'è un approccio migliore?

Ho pensato di tirare fuori la logica che genera il nome del percorso nel proprio metodo di supporto nell'unità che sto testando e testare quel metodo una volta, quindi usare quel metodo quando ho bisogno di un nome di percorso. Quindi ho solo 'hardcode' la logica di generazione dei percorsi in un test in cui sembra ragionevole. Tuttavia, se facessi uscire quel metodo sarebbe di solito un metodo privato, che solleva l'intera questione su come testarlo, piuttosto è giusto renderlo pubblico solo per i test, ed è un odore di codice essere testare le funzioni di supporto.

Qual è il modo più elegante di testare qualcosa del genere? solo hardcode?

    
posta dsollen 28.08.2014 - 15:46
fonte

1 risposta

4

opzione 1: prendi in giro il codice di generazione del nome e testalo separatamente.

pro: tu controlli dove e quale file viene utilizzato, nessun file a penzoloni casuale da pulire.

opzione 2: mock writing al file.

pro: non c'è bisogno di andare al file system in assoluto e di salvarlo su un buffer di byte.

    
risposta data 28.08.2014 - 16:41
fonte

Leggi altre domande sui tag