我正在尝试深入研究React
的酶测试,因为我目前正在从事一个需要它的项目。我的测试跑步者是jest
。
问题似乎很简单,但我一直无法弄清。
我有一个组件,如下所示。我所有的页面都有一个关联的Route
,用React Router
来实现。
const App = () => {
return (
<Provider store={store}>
<Routes />
</Provider>
);
}
下面的代码测试组件呈现的图像是否崩溃。
it("renders without crashing", () => {
const wrapper = shallow(<App />);
expect(true).toBe(true);
expect(toJson(wrapper)).toMatchSnapshot();
});
我想测试Provider
和Routes
组件是否已渲染。我的研究使我了解到Provider
不是常规的React
组件。但是问题是我似乎无法掌握Routes
组件。
以下是我尝试过的内容。每次尝试都带有标签。
it('renders provider', () => {
const wrapper = mount(<App />);
expect(wrapper.find(Routes)).to.have.lengthOf(1) # 1
expect(wrapper.find(Provider)).to.have.lengthOf(1) # 2
expect(wrapper.dive().find(Routes)).to.have.lengthOf(1) # 3
expect(wrapper.dive().find(Provider)).to.have.lengthOf(1) # 4
})
但是所有这些都失败了。我需要帮助。
谢谢。
PS:我还需要使用React Router
测试组件的帮助。