Библиотека React Testing для тестирования React Router Dom Switch и маршрутов - PullRequest
0 голосов
/ 10 марта 2020

Попытка провести интеграционное тестирование в моем приложении ReactJS. Кажется, я не могу получить это для рендеринга внутри <switch в моем приложении. js:

Приложение. js

<Provider store={store}>
  <ConnectedRouter history={history}>
    <Security auth={auth}>
      <BrandWrapper>
        <div>brand</div>
        <ResponsiveWrapper>
          <div>responsive</div>
          <Switch>
            <Route path="/" component={HomePage} />
            <Route path="/results" component={ResultsPage} />
          </Switch>
        </ResponsiveWrapper>
      </BrandWrapper>
    </Security>
  </ConnectedRouter>
</Provider>

test выводит два divs, которые я добавил для устранения неполадок:

<body>
  <div>
    <div>
      <div>
        brand
      </div>
      <div>
        responsive
      </div>
    </div>
  </div>
</body>

Мой сокращенный тест выглядит так:

import { render, fireEvent, screen } from '@testing-library/react';

it('works', () => {
   const comp = render(<MemoryRouter initialEntries={['/']} initialIndex={0}><App /></MemoryRouter>);
   expect(comp).toMatchSnapshot();

Версии используемых библиотек:

"react": "^16.6.3",
"react-dom": "^16.6.3",
"react-redux": "^5.0.7",
"react-router": "^4.3.1",
"react-router-dom": "^4.3.1",
"react-scripts": "^2.1.3",
"@testing-library/dom": "^6.15.0",
"@testing-library/jest-dom": "^5.1.1",
"@testing-library/react": "^9.5.0",
"@testing-library/user-event": "^10.0.0",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.2",
"enzyme-to-json": "^3.3.4",
"jest-environment-jsdom": "^24.9.0",
"jest-environment-node": "^24.9.0",
"jest-localstorage-mock": "^2.4.0",
"jest-sonar-reporter": "^2.0.0",

Дай мне знать, что тебе еще нужно здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...