私は彼らがreact-routerv4を使用する簡単なアプリを持っています
const App = () => (
<Switch>
<Route exact path="/" component={() => <div>Home</div>}/>
<Route path="/profile" component={() => <div>Profile</div>}/>
<Route path="/help" component={() => <div>Help</div>}/>
</Switch>
);
とテスト
jest.dontMock('../App');
import React from 'react';
import { MemoryRouter } from 'react-router-dom';
import { shallow } from 'enzyme';
import App from '../App';
describe('<App />', () => {
const wrapper = shallow(
<MemoryRouter>
<App/>
</MemoryRouter>
);
console.log(wrapper.html());
it('renders a static text', () => {
expect(
wrapper.contains(<div>Home</div>)
).toBe(true);
});
});
私の設定:
initialEntries
同様に提供する必要がありますinitialIndex
。あなたの場合、それはこのように見えるはずです:
const wrapper = shallow(
<MemoryRouter initialEntries={['/']} initialIndex={0}>
<App/>
</MemoryRouter>
);
他の可能性は、enzyme
のmount
代わりに'sが必要なことですshallow
。
react-router
ここにいくつかの素晴らしいドキュメントがあります:https://reacttraining.com/react-router/core/api/MemoryRouter
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加