Redux异步操作测试的目的是什么

What is the purpose of Redux Async Action Testing?

本文关键字:是什么 操作测试 异步 Redux      更新时间:2023-09-26

有人能解释一下我们为什么测试异步操作吗?我们希望确保什么工作?

所以在文档中,http://rackt.org/redux/docs/recipes/WritingTests.html,我们模拟服务器请求。

nock('http://example.com/')
  .get('/todos')
  .reply(200, { todos: ['do something'] })
const expectedActions = [
  { type: types.FETCH_TODOS_REQUEST },
  { type: types.FETCH_TODOS_SUCCESS, body: { todos: ['do something']  } }
]
const store = mockStore({ todos: [] }, expectedActions, done)
store.dispatch(actions.fetchTodos())

因此,我们不是在测试是否与服务器联系。我们正在测试是否采取了正确的行动顺序,给出了200的正确答案?

是的,这种类型的测试的目的不是查看您的网络请求是否正常工作,而是确保您期望启动的操作序列实际上正在启动。它还可以用于确保从服务器返回的数据是前端期望的正确格式。

如果你在实现代码后编写测试,这可能看起来微不足道,但也就是说,你或其他开发人员决定对这些操作进行一些轻微的调整,或者完全删除一个。在最坏的情况下,您的代码会悄无声息地失败,让您怀疑出了什么问题。这些类型的测试可以帮助你避免这种问题。