首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用mock-store正确测试调用另一个thunk的thunk

使用mock-store正确测试调用另一个thunk的thunk的过程如下:

  1. 首先,我们需要安装相关的测试库和工具。在Node.js环境中,可以使用npm或者yarn来安装这些依赖。打开终端并执行以下命令:
  2. 首先,我们需要安装相关的测试库和工具。在Node.js环境中,可以使用npm或者yarn来安装这些依赖。打开终端并执行以下命令:
  3. 或者
  4. 或者
  5. 这样就安装了redux-mock-store和redux-thunk两个库。
  6. 在测试文件中,我们需要导入相关的库和模块。假设我们使用的是Jest测试框架,可以在测试文件的顶部添加以下代码:
  7. 在测试文件中,我们需要导入相关的库和模块。假设我们使用的是Jest测试框架,可以在测试文件的顶部添加以下代码:
  8. 这里假设我们要测试的两个thunk分别是yourThunk和anotherThunk,它们都定义在名为yourThunks.js的文件中。
  9. 接下来,我们需要创建一个mock store来模拟Redux的store。在测试文件中添加以下代码:
  10. 接下来,我们需要创建一个mock store来模拟Redux的store。在测试文件中添加以下代码:
  11. 这里我们使用configureMockStore函数创建了一个mock store,并将thunk作为middleware传入。然后我们通过调用mockStore函数来创建一个实际的store对象,初始状态为空对象{}。
  12. 现在我们可以开始测试了。假设我们要测试的是yourThunk中调用了anotherThunk的情况。在测试文件中添加以下代码:
  13. 现在我们可以开始测试了。假设我们要测试的是yourThunk中调用了anotherThunk的情况。在测试文件中添加以下代码:
  14. 这里我们使用Jest的describe和it函数来定义测试用例。在测试用例中,我们首先定义了期望的action数组expectedActions,这个数组包含了我们期望在yourThunk中被调用的action。然后我们通过调用store.dispatch来触发yourThunk,并使用then方法来等待异步操作完成。最后,我们使用store.getActions方法获取实际触发的action数组,并使用expect断言来判断实际的action数组是否与期望的一致。
  15. 最后,我们可以运行测试了。在终端中执行以下命令:
  16. 最后,我们可以运行测试了。在终端中执行以下命令:
  17. 或者
  18. 或者
  19. 这样就会运行测试并输出结果。

总结:使用mock-store正确测试调用另一个thunk的thunk需要安装相关的测试库和工具,创建一个mock store来模拟Redux的store,定义期望的action数组,并使用store.dispatch来触发thunk并等待异步操作完成,最后使用expect断言来判断实际的action数组是否与期望的一致。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券