2015-11-04 8 views
7

In 'Suggerimenti' nella documentazione di risposta descrivono un modello per la comunicazione tra componenti in cui un componente padre chiama un metodo sul figlio (tramite un riferimento).Come testare l'unità genitore reagire componenti che chiamano metodi sui bambini

Vedi https://facebook.github.io/react/tips/expose-component-functions.html

Sto usando una terza parte reagire componente che mi obbliga a utilizzare questo approccio.

Vorrei unità di testare il mio componenti e verificare che chiama il metodo del bambino (con i giusti parametri) nelle giuste circostanze, ma sto avendo difficoltà a capire come ...

Per l'esempio nella documentazione di Facebook, come scriverò un test che controlla le chiamate di Todos animate sull'ultimo Todo quando dovrebbe?

risposta

1

Considerare l'utilizzo di Facebook Flux pattern. Utilizzando questo modello, avrai separato i componenti dell'interfaccia utente dalla gestione dello stato; la gestione dello stato è facilitata con "negozi". I negozi terminano lo stato di coordinamento tra i componenti. Ora le tue opinioni non comunicano direttamente. Inoltre, i dati fluiscono solo in un modo.

Flux Pattern

Nota che ci sono molte implementazioni di flusso che è possibile utilizzare, such as reFlux. Puoi trovare molti di questi cercando pacchetti NPM disponibili

... Quindi, come testarlo?

Una volta stabilito un modello, è possibile trovare su Google un sacco di risorse, blog ed esempi per i test. Attualmente, ci sono due approcci principali per i test unitari: Jest e Jasmine. Facebook recommends using Jest:

Per un test dell'unità per operare su un'unità veramente isolata dell'applicazione, dobbiamo prendere in giro tutti i moduli tranne quello che stiamo testando. Jest rende banale la derisione di altre parti di un'applicazione Flux.

... negozi

Flux spesso ricevono una grande quantità di copertura di test unità formale, in quanto questo è dove lo stato delle applicazioni e logica vite. I negozi sono probabilmente il posto più importante in un'applicazione Flux per fornire una copertura

Problemi correlati