Angular 2Mocking @ ngrx / Store


introduzione

@ ngrx / Store sta diventando sempre più utilizzato nei progetti Angular 2. Come tale, lo Store deve essere iniettato nel costruttore di qualsiasi componente o servizio che desidera utilizzarlo. Test delle unità Il negozio non è così facile come testare un semplice servizio. Come con molti problemi, ci sono una miriade di modi per implementare soluzioni. Tuttavia, la ricetta di base è scrivere una classe di simulazione per l'interfaccia di Observer e scrivere una classe di simulazione per Store. Quindi puoi iniettare Store come fornitore nel tuo TestBed.

Parametri

nome descrizione
valore prossimo valore da osservare
errore descrizione
sbagliare errore da lanciare
super descrizione
azione $ simulare Observer che non fa nulla se non viene definito di farlo nella classe simulata
actionReducer $ simulare Observer che non fa nulla se non viene definito di farlo nella classe simulata
obs $ finto osservabile

Osservazioni

Observer è un generico, ma deve essere di tipo any per evitare la complessità del testing unitario. La ragione di questa complessità è che il costruttore di Store si aspetta argomenti Observer con diversi tipi generici. Usando any evita questa complicazione.

È possibile trasferire valori null nel super costruttore di StoreMock, ma ciò limita il numero di asserzioni che possono essere utilizzate per testare la classe più avanti.

Il componente utilizzato in questo esempio viene utilizzato come contesto per il modo in cui si farebbe l'iniezione di Store come fornitura nell'impostazione di test.

Mocking @ ngrx / Store Esempi correlati