我正在尝试使用mocha和sinon.js编写异步函数的单元测试。
以下是我的测试用例。
以下是我正在测试的异步函数的定义。
以下是我的测试用例。
describe('getOperations', function () {
let customObj, store, someObj
beforeEach(function () {
someObj = {
id: '-2462813529277062688'
}
store = {
peekRecord: sandbox.stub().returns(someObj)
}
})
it('should be contain obj and its ID', function () {
const obj = getOperations(customObj, store)
expect(obj).to.eql(someObj)
})
})
以下是我正在测试的异步函数的定义。
async function getOperations (customObj, store) {
const obj = foo(topLevelcustomObj, store)
return obj
}
function foo (topLevelcustomObj, store) {
return store.peekRecord('obj', 12345)
}
测试用例失败了,因为返回的 Promise 被拒绝并带有一条消息
TypeError: store.query 不是一个函数,位于 Object._callee$。
我正在测试的代码没有调用 store.query
任何地方,而且我也已经存根化了 store.peekRecord
,所以不确定它是怎么被调用的。