【问题标题】:What is the purpose of Redux Async Action Testing?Redux 异步动作测试的目的是什么?
【发布时间】:2016-04-03 14:53:02
【问题描述】:

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

所以在文档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 正确的响应?

【问题讨论】:

  • 测试认为什么是重要的。该指南只是试图展示什么是可能的。

标签: javascript unit-testing reactjs redux


【解决方案1】:

是的,此类测试的重点不是查看您的网络请求是否正常工作,而是确保您期望触发的操作序列实际触发。它还可用于确保从服务器返回的数据是前端期望的正确格式。

如果您在实现代码后编写测试,这可能看起来微不足道,但是说在路上,您或其他开发人员决定对这些操作进行一些微调或完全删除。最坏的情况是,您的代码会默默地失败,让您想知道出了什么问题。这些类型的测试可帮助您避免此类问题。

【讨论】:

  • 这说明了它。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-04
  • 2018-04-27
  • 2017-10-14
  • 2017-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多