Ваш первоначальный анализ верен;Эта ошибка вызвана тем, что хранилище не существует. Сгенерированные по умолчанию тесты контейнеров не извлекают и не создают хранилище.
response-intl предоставляет компоненты React и API для обработки интернационализации.Это не обеспечит магазин.
Чтобы добавить магазин в формате, совместимом с React-Boilerplate, сделайте следующее:
Сначала настройте импорт
import { Provider } from 'react-redux';
import configureStore from '../../../configureStore';
, затем создайте магазин чуть выше вашего первого 'it '
let store;
beforeAll(() => {
store = configureStore();
});
наконец-то используйте магазин внутри ваших тестов
<Provider store={store}>
...
</Provider>
Ваш код с новыми битами ...
import { render } from 'react-testing-library';
import { IntlProvider } from 'react-intl';
// import 'jest-dom/extend-expect'; // add some helpful assertions
import { TestConnectedComponent } from '../index';
import { DEFAULT_LOCALE } from '../../../i18n';
import { Provider } from 'react-redux';
import configureStore from '../../../configureStore';
describe('<TestConnectedComponent />', () => {
let store;
beforeAll(() => {
store = configureStore();
});
it('Expect to not log errors in console', () => {
const spy = jest.spyOn(global.console, 'error');
const dispatch = jest.fn();
render(
<Provider store={store}>
<IntlProvider locale={DEFAULT_LOCALE}>
<TestConnectedComponent dispatch={dispatch} />
</IntlProvider>
</Provider>,
);
expect(spy).not.toHaveBeenCalled();
});
it('Expect to have additional unit tests specified', () => {
expect(true).toEqual(true);
});