模拟延迟的可能性?

Posibility to mock delay?

我正在进行史诗般的测试。问题?我用延迟。参见

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));

我的测试:

  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]);
    });

问题是这个延迟。 jest.clearAllTimers();

时同样的问题

enter image description here

有什么想法吗?

我发现自己是一个很好的模拟延迟解决方案。使用方法 spyOn :)