Theme.spacing не является функцией - PullRequest
1 голос
/ 06 июля 2019

Я недавно переместил свое приложение реагирования с material-ui v3 на v4 и заменил '@ material-ui / core / styles' на 'material-ui / styles', для тестирования мы использовали jest и энзим. Тесты не пройдены после миграции. Как я могу решить эту проблему? Ошибки следующие:

Предупреждение: Material-UI: предоставленный аргумент styles недействителен. Вы предоставляете функцию без темы в контексте. Один из родительских элементов должен использовать ThemeProvider. Ошибка: Uncaught [TypeError: theme.spacing не является функцией] При полной визуализации DOM ›возникла исключительная ситуация объявления Ошибка типа: theme.spacing не является функцией

  17 |   },
  18 |   selectEmpty: {
> 19 |     marginTop: theme.spacing(2),
     |                      ^
  20 |   },

1 Ответ

0 голосов
/ 07 июля 2019

Вы должны обернуть каждый тест с ThemeProvider.Это решает проблему.Пример:

    wrapper = mount(
      <ThemeProvider>
        <Dropdown handleSelect={handleSelectSpy} options={options} />
      </ThemeProvider>,
    );

...