反应16并反应路由器4,如何测试是否为路由组件定义了?

时间:2017-10-17 12:19:43

标签: jestjs react-router-v4

我有一个基于react-boilerplate的应用程序。我最近更新到最新版本,其中包括react-router 4.2,并且还对版本16做出了反应。

现在我正在努力将应用程序中的路由与最新版本对齐,并且还想编写路由测试。

我有主文件App.js

export default () => (<Switch>
  <Route path="/offer" component={Offer} />
  <Route path="" component={NotFoundPage} />
</Switch>);

我写了测试:

describe('<App />', () => {
  it('should render proper component, based on routing', () => {
    const wrapper = shallow(
      <MemoryRouter initialEntries={['/offer']} initialIndex={0}>
        <App />
      </MemoryRouter>
    );
    expect(wrapper.find(Offer)).toBePresent();
  });
});

我已安装enzyme-matchers以使toBePresent正常工作,但我收到错误:TypeError: expect(...).toBePresent is not a function

所以你可能知道如果在具体的路由定义组件被渲染的情况下用jest测试的其他方法吗?

0 个答案:

没有答案