Unit test delle variabili passate alla vista dal controller

0

Diciamo che voglio testare un controller che ottiene un certo valore da un servizio e poi passare alcuni di questi valori alla vista.

Verifica che la vista ottenga il risultato che il controllore ha preso dal servizio, senza aver cura di vedere le variabili esatte che vengono passate o testare specificamente per le variabili che hai bisogno nella vista?

Quindi se nella vista hai var 'foo' e 'foo2', puoi verificare che il controller stia semplicemente passando le informazioni che ottiene dal servizio, o puoi verificare che le variabili che vengono passate siano effettivamente chiamate 'foo' 'e' foo2 '.

Quale approccio usi?

    
posta antonienko 27.11.2014 - 12:16
fonte

2 risposte

2

Ogni volta che provi una classe o un metodo, fornisci gli input e poi verifica che produca gli output di cui è responsabile.

Se il comportamento documentato della tua classe è quello di trasmettere quello che ottiene, allora dovresti scrivere un test passando tra "foo" e "bar", o "scontroso" e "slouchy", o qualsiasi altro insieme di input, e verificare che siano passati. Il controllo che "pippo" sia prodotto appartiene a un altro test (il test per il servizio).

Ma se il comportamento richiede che il controller invii i valori per un particolare insieme di attributi, allora il test dovrebbe verificare che produca esattamente questo output e controllare entrambi gli attributi e i loro valori.

    
risposta data 27.11.2014 - 12:27
fonte
0

Qui è dove devi applicare una combinazione di dipendenze e test di simulazione. Dovresti testare il servizio e il controller & guarda separatamente. Fallo prendendo in giro il servizio per restituire un valore registrato e poi verifica se il controller finisce con questo valore registrato.

TDD è un test unitario. Non si dovrebbe testare la configurazione accoppiata (che è il test di integrazione). Testare i 2 moduli separatamente come spiegato sopra.

    
risposta data 28.11.2014 - 23:53
fonte

Leggi altre domande sui tag