2017-06-30 4 views
0

Ich mache einen epischen Test. Problem? Ich benutze Verzögerung. SieheMöglichkeit, Verzögerung zu verspotten?

export const displayToasterEpic = (action$, store) => 
    action$ 
    .ofType(SHOW_TOASTER) 
    .filter(action => action.toaster.show) 
    .delay(getToaster(store.getState()).duration || DELAY_TOASTER) 
    .map(() => showToaster(MESSAGE_CLOSE)); 

Mein Test:

describe('displayToasterEpic',() => { 
    it('should display toaster delete account',() => { 
     const expectedAction1 = { 
     type: SHOW_TOASTER, 
     toaster: MESSAGE_DELETE_ACCOUNT, 
     }; 
     const expectedAction2 = { 
     type: SHOW_TOASTER, 
     toaster: MESSAGE_CLOSE, 
     }; 

     store = mockStore(displayToasterEpic); 

     store.dispatch(expectedAction1); 

     expect(store.getActions()).toEqual([expectedAction1, expectedAction2]); 
    }); 

Das ist probleme diese Verzögerung. Das gleiche Problem, wenn jest.clearAllTimers();

enter image description here

Irgendwelche Ideen?

+0

Haben Sie 'jest.useFakeTimers()' '' '' jest.runAllTimers(); ' –

Antwort

0

Ich finde mich eine schöne Lösung zu verspotten Verzögerung. Benutzte die Methode spyOn :)

Verwandte Themen