【发布时间】:2017-02-21 12:46:32
【问题描述】:
我有一个对 API 进行异步调用的 redux 操作。
从 "../errors" 导入 { ForbiddenRequest, APIError }
从“redux-fetch-helpers”导入 { fetchActionCreator }
出口常量 ADD_CART_ITEMS = "ADD_CART_ITEMS"
导出默认函数 addCartItems(items, authToken){
返回 fetchActionCreator({
url: `${API_BASE}/ajax_cart`, //eslint-disable-line no-undef
获取选项:{
方法:“POST”,
标头:新标头({
“授权”:`jwt ${authToken}`,
“接受”:“应用程序/json”,
“内容类型”:“应用程序/json”,
}),
正文:JSON.stringify(项目),
凭据:“同源”,
},
动作类型:ADD_CART_ITEMS,
响应配置:{
200: (resp => resp),
403:(有效负载=>新的ForbiddenRequest(有效负载)),
其他:(有效负载 => 新 APIError(有效负载)),
}
})
}
我正在尝试使用 sinon 存根来模拟 fetchActionCreator 方法。 这是我的规范文件
从“../../actions/addCartItems”导入 addCartItems 从 "sinon" 导入 sinon describe("addCartItems 操作", () => { 让 fetchActionCreator it("应该创建一个将商品添加到购物车的操作", () => { 常量添加CartItem = { 项目:[{product_variant:10,数量:1}] } const expectedAction = { type: "ADD_CART_ITEMS", meta: {sequence: "BEGIN"}} fetchActionCreator = sinon.stub() // fetchActionCreator() fetchActionCreator.returns(expectedAction) 期望(addCartItems(addCartItem,“someToken”)).to.equal(expectedAction) }) })但不知何故,这个函数并没有被嘲笑。你能建议我正确的方法吗?
【问题讨论】:
标签: reactjs mocha.js redux sinon