Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 用酶和jest测试Redux连接组件_Reactjs_Unit Testing_Redux_Jestjs_Enzyme - Fatal编程技术网

Reactjs 用酶和jest测试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} /> <

我正在用jest和Ezyme对我的React应用程序进行单元测试,在我碰巧测试了一个与Redux连接的类组件之前,一切都很好。我继续测试它,用一个塑料薄膜包住组件,然后浅装。然而,在更新组件的道具之后,我无法运行断言,也无法监视正在调用或未调用的类方法

下面是我的示例代码:

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
}))