2017-08-23 1 views
0

Ich möchte meine Geschichte testen i einzelnen Saga Anrufe zu testen, bin in der Lage zu testen, aber wie kann ich mein Beobachter Saga testen Scherz mitwie Saga Ertrag Beobachter parallel Anrufe im Scherz

export default function* saga() { 
    yield [ 
    takeLatest(dataTypeActions.ACTION1, fetchDataType), 
    takeLatest(sourceActions.ACTION2, fetchFromSource), 
    takeLatest(targetActions.ACTION3, fetchFromTarget), 
    ]; 
} 

einige Körper mir helfen mit Scherz (uisng Generatorfunktion)

+0

@Osmel Mora können Sie mir helfen diese – kumar

+0

ich das Array wickeln würde in 'all' Wirkung und dann test bei der alle Wirkung ist ergeben. Ansonsten testet man, dass die Aufgaben tatsächlich parallel laufen, und testet tatsächlich die redux-saga-lib-Funktionalität, die imo etwas ist, was man nicht tun sollte. –

+0

Sie könnten in Ihrem Test überprüfen, dass alle Effekte im Array vom Typ 'fork' sind (was takeLatest zurückgibt), um sicherzustellen, dass niemand dort einen anderen Effekt erzeugt. –

Antwort

0

Sie es so, wie parallele Gespräche testen, testen können:

it('watches several actions...',() => { 
    const generator = yourSaga(); 
    expect(generator.next().value).toEqual([ 
    takeLatest(dataTypeActions.ACTION1, fetchDataType), 
    takeLatest(sourceActions.ACTION2, fetchFromSource), 
    takeLatest(targetActions.ACTION3, fetchFromTarget), 
    ]); 
}); 
+0

dauert so lange, um den Test mehr als 15 Minuten auszuführen – kumar

Verwandte Themen