Reactjs 用酶和jest测试Redux连接组件
我正在用jest和Ezyme对我的React应用程序进行单元测试,在我碰巧测试了一个与Redux连接的类组件之前,一切都很好。我继续测试它,用一个塑料薄膜包住组件,然后浅装。然而,在更新组件的道具之后,我无法运行断言,也无法监视正在调用或未调用的类方法 下面是我的示例代码:Reactjs 用酶和jest测试Redux连接组件,reactjs,unit-testing,redux,jestjs,enzyme,Reactjs,Unit Testing,Redux,Jestjs,Enzyme,我正在用jest和Ezyme对我的React应用程序进行单元测试,在我碰巧测试了一个与Redux连接的类组件之前,一切都很好。我继续测试它,用一个塑料薄膜包住组件,然后浅装。然而,在更新组件的道具之后,我无法运行断言,也无法监视正在调用或未调用的类方法 下面是我的示例代码: const wrapper = shallow( <Provider store={store}> <TestComponent {...props} /> <
const wrapper = shallow(
<Provider store={store}>
<TestComponent {...props} />
</Provider>
).dive();
有趣的是,如果我像在redux文档中一样导出未连接的组件,断言工作得很好。仅出于测试目的导出未连接的组件可以吗?如果我尝试测试连接的组件,我就无法监视实例方法/生命周期方法。您可以从
react redux
模拟connect
函数以返回原始组件
jest.mock('react-redux', () => ({
connect: () => Component => Component
}))
jest.mock('react-redux', () => ({
connect: () => Component => Component
}))