如何使用React Jest编写路由测试

时间:2020-08-03 05:15:41

标签: reactjs routes jestjs

我正在为自己的路线编写测试,测试通过了,但是代码覆盖率报告未显示任何更改。以下是我的路线的代码

<ConnectedRouter history={history}>
   <Switch>
      <Route path={`/${ResourceNames.serviceRequest}/${ResourceNames.create}`}
        render={renderCreateOldSliModal}
      />
      Redirect
       from="/"
       to={`/${ResourceNames.create}`}
       exact={true}
      />
    <Route
       path={`/${ResourceNames.errorPage}/CimsNotReachable`}
       render={cimsNotReachable}
    />
    </Switch>
</ConnectedRouter>

下面是测试

const useCases = [
    [
      "/errorPage/CimsNotReachable",
      (
        <CimsNotReachable />
      ),
      /Support Requests Unavailable/,
    ],
    [
      "list/limit",
      (
        <ListSRModal 
          problemType="LIMIT" 
          interPluginContext={pluginListener.getContext()} 
          errorMessage={null}
        />
      ),
      /Support Requests Unavailable/,
      false,
    ],
 ];
useCases.forEach(([url, component, title]) => {
  it(`check routes for - ${url} page`, () => {
      history.push(url);
      const { queryByText } = render(
        <Provider store={mockConnectorStore}>
          <ConnectedRouter history={history}>
              <Route path="history">
               {component}
              </Route>
          </ConnectedRouter>
        </Provider>,
      );
      const titleText = queryByText(`${title}`);
      expect(titleText).toBeDefined();
    });
});

因此,我相信测试不会对main.tsx中的代码进行严格测试。如何重构测试,以便测试实际测试代码?

0 个答案:

没有答案