Le migliori pratiche per testare oggetti profondi?

0

Sto scrivendo in javascript con la libreria 'should', ma non importa.

Dovrei scrivere test per il metodo, che restituisce un oggetto abbastanza grande con molti campi. Come dovrei scrivere il mio risultato expected ?

Ho appena scritto lo stesso grande oggetto in expected , ma ha circa 100 righe di codice e non sembra buono.

Qualche suggerimento? O dovrei rifattare il mio metodo in qualche modo? In questo momento il metodo chiama a 4 altri metodi e raccoglie i risultati in qualche modo su un oggetto.

    
posta podliy16 04.09.2015 - 12:45
fonte

2 risposte

1

Rif. gli altri 4 metodi in una classe separata (potrebbe essere una classe per metodo o una classe con 4 metodi). È probabile che la classe che sta creando l'unico oggetto abbia troppe responsabilità e dovresti dividerle.

Verifica i singoli metodi per confermare che funzionino. Il risultato di queste chiamate sarà molto più piccolo del grande oggetto.

Prova il metodo big affermando che il metodo big chiama i 4 metodi estratti e assegna correttamente i valori.

    
risposta data 04.09.2015 - 13:14
fonte
0

I quattro metodi - e i dati restituiti - dipendono e sono correlati tra loro?

Se non esiste una vera dipendenza, esponi quei metodi come pubblici e permetti a ciascuno di restituire un insieme più piccolo di dati, che può essere testato indipendentemente.

Se esiste una strong dipendenza, considera la possibilità di rendere gerarchico il tuo oggetto di grandi dimensioni. Quindi può avere quattro campi, ognuno dei quali è un oggetto con una propria collezione di campi. Anche in questo caso è possibile dividere il test in quattro test e testare a turno ciascun sub-oggetto, oppure si potrebbero avere quattro invocazioni should separate (supponendo che should.js consenta più test in un test, non è un framework di test I ' ho familiarità con).

    
risposta data 04.09.2015 - 15:03
fonte

Leggi altre domande sui tag