Разница между выборкой импорта из 'isomorphic-fetch' и импортом 'isomorphic-fetch' для тестирования асинхронного действия - PullRequest
0 голосов
/ 28 января 2019

Я пишу модульный тест для асинхронного редукционного действия, но я получил ошибку при вызове выборки с жалобой на относительный URL в модульном тесте.Я смог исправить это, изменив import fetch from isomorphic-fetch' на import 'isomorphic-fetch'.Тем не менее, я не могу понять разницу между этими двумя строками и почему это решило проблему.Спасибо за помощь заранее.

Ошибка:

only absolute urls are supported

      27 | 
      28 | const request = (url, options) => (
    > 29 |   fetch(url, options)
         |   ^
      30 |     .then(handlePromise)
      31 |     .then(handleErrors)
      32 | );

Контрольный пример:

describe('async actions', () => {
  afterEach(() => {
    fetchMock.restore();
  });

  it('creates FETCH_TODOS_SUCCESS when fetching todos has been done', () => {
    fetchMock.postOnce('web-api/v1/collection/search', {
      body: { todos: ['do something'] },
      headers: { 'content-type': 'application/json' }
    });

    const expectedActions = [
      { type: types.RECEIVE_SEARCH }
    ];
    const store = mockStore({ todos: [] });

    return store.dispatch(actions.testFetch({})).then(() => {
      // return of async actions
      expect(store.getActions()).toEqual(expectedActions);
    });
  });
}); 
...