问题描述
export const createNudgeBankLinkingNotifications = functions.https.onRequest(async
(req,res) => {
try {
await sendNudgeBankLinkingNotifications(correlationId);
res.status(200).send({ success: true });
} catch (error) {
res.status(500).send({
error: 'Notification cannot be sent'
});
}
});
我正在尝试测试 catch 块,但它总是返回成功块。我想测试测试块的输出是否为 { error: 'Notification cannot be sent' } .. 我正在尝试存根我正在测试的函数内部调用的函数 sendNudgeBankLinkingNotifications,但我不知道如何执行此操作
我的测试功能:
it('should return internal error',async () => {
const sendNotification = sinon.stub(notifications,'sendNudgeBankLinkingNotifications')
sendNotification.throws(new Error('Fake Error'))
const req: any = {
headers: {
Authorization: `Bearer ${functions.config().processreceipt.key}`
}
}
const resstatus = sinon.stub().returnsThis()
const resSend = sinon.stub()
const res:any = {
status: resstatus,send: resSend,}
await createNudgeBankLinkingNotifications(req,res);
sinon.assert.calledOnce(res.status);
sinon.assert.calledWith(resSend,{ error: 'Notification cannot be sent'})
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)