测试react-router v4 with jest and enzyme总是得到.404组件

时间:2018-01-27 12:15:53

标签: reactjs enzyme jest react-router-v4

出于某种原因,我在测试中无法访问路由器。

我在主容器中的渲染:

render() {
    return (
      <div className="AppEntry-scope">
        <BrowserRouter>
          <Switch>
            <Route exact path="/" component={Dashboard} />
            // ...Other routes

            <Route component={FourOhFourNothinFound} />
          </Switch>
        </BrowserRouter>
      </div>
    );
  }

我的测试:

describe('<Dashboard />', () => {
  it('Should see dashboard', () => {
    const wrapper = mount(
      <MemoryRouter initialEntries={['/']}>
        <AppEntry store={store} />
      </MemoryRouter>,
    );

    expect(wrapper.find(Dashboard)).toBePresent();
  });
});

另外,我试过了:

expect(wrapper.find(Dashboard).length).toBe(1);

我的测试没有看到仪表板组件。

在我的应用程序中,此路由有效,但我想设置路由测试。

顺便说一句,当我试图测试我未发现的组件FourOhFourNothinFound时 - 它起作用,似乎我的测试总是看到未发现的组件。

有什么问题以及如何正确设置react-router测试?

0 个答案:

没有答案