gpt4 book ai didi

node.js - 如何用 Jest 模拟 AWS Cognito CognitoIdentityServiceProvider?

转载 作者:行者123 更新时间:2023-12-05 02:02:21 25 4
gpt4 key购买 nike

我正在尝试编写单元测试,我需要模拟来自认知服务的方法响应 - CognitoIdentityServiceProvider

我有以下调用 adminInitiateAuth 操作的工作代码

import * from AWS from 'aws-sdk'


const cognito = new AWS.CognitoIdentityServiceProvider();
const response = await cognito.adminInitiateAuth(expectedParams).promise();

// main functionality I want to test

我想有一个规范,我尝试将此服务模拟为先决条件


const mockResponse = {
AuthenticationResult: {
AccessToken: 'expected-token'
}
}

jest.mock('aws-sdk', () => {
return {
CognitoIdentityServiceProvider: {
adminInitiateAuth: () => {
return mockResponse;
}
}
}
});


这会返回一个错误

AWS.CognitoIdentityServiceProvider 不是构造函数

this怎么不能是构造函数?你知道如何模拟它吗?

最佳答案

我想通了。它可能对某人有用

jest.mock('aws-sdk', () => {
return {
CognitoIdentityServiceProvider: class {
adminInitiateAuth() {
return this;
}

promise() {
return Promise.resolve(mockResponse);
}
}
}
});

关于node.js - 如何用 Jest 模拟 AWS Cognito CognitoIdentityServiceProvider?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65822305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com