Jest тестирование не проходит: следует использовать Material-UI для всех реагирующих компонентов - PullRequest
0 голосов
/ 22 мая 2019

Я работаю над проектом с использованием React, я использую Material-UI только для компонентов, которые содержат формы. Когда я запускаю тест, компоненты с формами (которые используют пользовательский интерфейс материала) успешно проходят, но проблема в том, что в компонентах нет форм, поэтому он не использует какие-либо компоненты пользовательского интерфейса материала, тест не пройден!

Когда я запускаю тест, он не проходит эти компоненты и показывает:

  ● Natural

    Material-UI: expected an Element but found null. Please check your console for additional warnings and try fixing those. If the error persists please file an issue.

       5 | 
       6 | test('Natural', () => {
    >  7 |   const story = renderer.create(<BrowserRouter> <Story /> </BrowserRouter>).toJSON();
         |                          ^
       8 |   expect(story).toMatchSnapshot();
       9 | });
      10 | 

Это мой тестовый код:

import React from 'react';
import renderer from 'react-test-renderer';
import { BrowserRouter } from 'react-router-dom';
import Story from './index';

test('Natural', () => {
  const story = renderer.create(<BrowserRouter> <Story /> </BrowserRouter>).toJSON();
  expect(story).toMatchSnapshot();
});

А это мой код компонентов:

import React, { Fragment } from 'react';
import Footer from '../Common/Footer';

const Story = () => {
  return (
    <Fragment>
      <main>
        <h1>Hello Story page!</h1>
      </main>
      <Footer />
    </Fragment>
  );
};

export default Story;

Я ожидаю, что тест пройден!

1 Ответ

0 голосов
/ 23 мая 2019

Проблема была с версией пакета Material UI.Я использовал v4.0.0-beta.2, но теперь я обновил его до v4.0.0-rc.0, и это решило проблему, и весь тест прошел.

Еще одно замечание, что я использовал материал ui на моем Footer компоненте,Таким образом, проблема будет показана для компонента, в котором я использую компоненты Material UI.


Редактировать:

Выпущена новая версия: v4.0.1

...