我有一个基于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测试的其他方法吗?