zer*_*ero 7 integration-testing reactjs redux redux-saga react-redux
我有这样的项目结构:
app/
global/
styles/
components/
scenes/
Home/
actions.js
constants.js
index.jsx
reducer.js
sagas.js
styles.styl
index.spec.jsx
some-other-scene/
actions.js
constants.js
index.jsx
reducer.js
sagas.js
styles.styl
index.spec.jsx
Run Code Online (Sandbox Code Playgroud)
所以我对使用这种结构的单元测试没有任何问题,但我对如何构建集成测试感到困惑.对于我的单元测试,我将每个场景组件导出为一个类
export class SomeComponent extends Component {}
Run Code Online (Sandbox Code Playgroud)
并作为redux连接组件
export default connect(
mapStateToProps,
mapDispatchToProps
)(SomeComponent)
Run Code Online (Sandbox Code Playgroud)
因此,对于第一种导出方式(类)我是单元测试它,但对于第二种方式(连接组件方式),我不确定如何具体如何在react/redux中进行集成测试.我在互联网上搜索了这个,但没有任何接近这个结构.
所以:
另外,如果它是#1那么我应该如何通过反应路由器测试路由?
就您的示例而言,我们所做的是导出mapStateToProps,mapDispatchToProps并为它们编写单元测试(当它们不简单时)。
我想您已经对您的动作创建器、传奇和减速器进行了单元测试。
就整合而言还剩下什么?您可能希望将组件安装在真实存储的上下文中,以查看它们是否对 redux 存储的突变做出正确的反应以及它们是否调度正确的操作。在我的项目中,我们使用端到端浏览器自动化测试来验证这样的事情。