我无法正确对内部函数进行存根,出现错误
req.on不是函数
我的外部函数像这样存根
streamQuery = sinon.stub();
couchbaseRepository = {
getBucketWrapper: sinon.stub().returns(
{
query,
streamQuery,
},
),
};
我内心像这样存根:
const req = {
on: sinon.stub(),
}
streamQuery.onFirstCall().resolves([req]);
我的streamQuery代码如下所示:
const req = couchbaseRepository.getBucketWrapper().streamQuery(streamQueryExp);
req.on('row', (row) => {
attributesIds.push(row.id);
});
streamQuery是一个返回流的函数,可以用.on('event', function)
streamQuery(queryString, args) {
checkConnection(this.bucket);
const query = couchbase.N1qlQuery.fromString(queryString);
return this.bucket.query(query, args);
}