问题标签 [aws-sdk-mock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2866 浏览

node.js - 在单元测试中使用 aws-sdk-mock 问题对 S3 getObject 进行单元测试

我正在为 S3 getObject 编写单元测试。我使用了 aws-sdk-mock,但是当我运行它时,我遇到了一个问题。

这是我正在编写的单元测试:

这是我正在为其编写单元测试的函数:

我在这里想念什么?

0 投票
2 回答
503 浏览

typescript - 如何使用 Sinon、aws-sdk-mock 模拟 AWS Service Comprehend?

我是在 Typescript 中模拟的初学者。我想AWS.Comprehend在我的单元测试中模拟。我在 AWS Service Comprehend 中有此代码。

我尝试为我的代码编写单元测试。

但是我的代码不起作用。在我看来,这Comprehend不是一个笑话。并且运行正常startDominantLanguageDetectionJob不模拟。我使用的错误是什么aws-sdk-mock

0 投票
1 回答
2052 浏览

unit-testing - 如何模拟使用 AWS 资源的打字稿服务和功能?

我有一个 Typescript 后端结构,我想为所有功能创建单元测试。我正在使用JESTaws-skd-mock来模拟 AWS。我尝试了一些事情,但似乎我没有做正确的事情。

我有这项服务,我从ParamterStore (amazon.service.ts)获取参数:

然后,我模拟整个 amazon.service 文件,在我的测试文件(amazon.service.spect.ts) 中模拟 SSM.getParameter 和响应:

有了这个,当 amazonService.getParam 被调用时,我得到了未定义。

正如我在示例中查看的那样,他们在模拟后立即初始化 new AWS.SSM() 并从测试中调用它,但我想通过调用我的函数来实现这一点。调用我的函数时,似乎没有嘲笑 SSM。

任何建议如何正确地做到这一点?

0 投票
0 回答
1314 浏览

node.js - 使用 Jest 和 AWS-SDK-Mock 进行单元测试,模拟 DynamoDB 扫描

进入 Jest 和单元测试 lambda 函数。我试图在我的单元测试中模拟 aws dynamodb-document 客户端扫描。我正在从真实数据库中取回实际扫描,所以我知道我的模拟程序不起作用。这是我的 .test.js:

我的实际 lambda 函数代码如下所示:

你们可以指出我的任何方向。测试在相等比较时失败,因为它具有来自 Dynamo 扫描的实际响应。

谢谢,蒂姆

0 投票
1 回答
662 浏览

javascript - 模拟 Javascript AWS.RDS.Signer

我有用于通过 IAM 身份验证连接到 AWS Rds 代理的 Connection 类。该过程的一部分是创建令牌。我有一个创建令牌的功能,但现在我很难模拟和测试它。

setToken这是带有方法的 Connection 类:

在这里我试图模拟的返回值AWS.RDS.Signer.getAuthToken()

我希望将“mock-token”视为 的值conn.token,但我得到的是:

我怎样才能AWS.RDS.Signer.getAuthToken()返回一个模拟令牌?


尝试@ggordon 的解决方案后进行编辑

我试图通过注入AWS构造函数来让它工作,但似乎仍然有同样的问题。我认为我的部分问题是 AWS.RDS.Signer 不支持承诺,但我不完全确定。

这是我的新代码:

Token生成令牌的类。从“aws-sdk”导入 AWS;

和测试:

Token 类本身可以工作——它创建令牌,并且令牌可用于成功连接到 RDS。但是,单元测试失败,返回的实际令牌(来自 console.log)是这样的:

这也是package.json@GSSWain 要求的

0 投票
0 回答
103 浏览

javascript - AWS DynamoDB 模拟始终匹配

我正在使用aws-sdk-mock. 似乎我传递的任何查询参数都将始终匹配。例如查看实现:

我的测试文件像这样模拟这个调用:

无论运行测试时的dynamoDBTableNameandgsiIndexName是什么,它总是会返回dynamoDBExpectedReturnValues. 当然,如果这些参数不修补模拟响应,则不应返回,但确实如此。如何确保匹配逻辑正确?还是我错误地实现了模拟?

非常感谢您提前。

0 投票
0 回答
64 浏览

node.js - 如何在使用 aws-sdk-mock 时进行参数验证

我正在使用带有 Jest 的 aws-sdk-mock 来测试 AWS Lamda。

我的 lambda 使用 AWS Polly Service 将文本转换为语音。以下是我想要模拟以及进行参数验证的一段代码。

我写了一个模拟如下。

如何模拟此服务以及同时进行参数验证?

0 投票
2 回答
1073 浏览

node.js - aws-sdk-mock - 模拟 s3.upload 不使用模拟实现

我正在使用这个包装函数将对象上传到 s3

而且我正在尝试使用 aws-sdk-mock 来模拟该函数,因此当它被调用时,它实际上并没有将项目推送到 s3 并且我可以验证它正在记录成功还是失败。

这是我尝试过的

不幸的是,当我调用该uploadToS3函数时,它仍然使用实际的 s3.upload 实现并尝试将对象发送到 S3。我已经成功地将类似的模拟方法与其他 AWS 服务一起使用,但这似乎给我带来了问题。

如何模拟 AWS.S3.upload 函数以及后续的.then.catch函数?

也许这可以用 Jest 代替?

0 投票
1 回答
242 浏览

amazon-s3 - 如何在 mocha 中测试 aws S3

这是我第一次尝试 Mocha/Chai 测试。使用 aws S3 在 mocha 中进行集成测试的最佳方法是什么。我尝试使用 aws-sdk-mock 和 sinon 来模拟 aws S3,但我真的不知道如何以及在哪里模拟这个?

这是我的代码:

我有一个运行创建函数的 API,它运行一些数据库查询并将文档保存到 s3。所以,我想测试这个 API,但我不知道如何模拟 s3.getObject 和 s3.putObject。

这是我运行设置和拆卸连接的测试文件

这是我的测试代码:

我对单元测试相当陌生,所以我很高兴你能指出我的任何方向:-)

非常感谢!

0 投票
1 回答
28 浏览

node.js - 更新依赖项时 jest-aws-sdk-mock 坏了

应用程序本身是一个用 Node.js 编写的 Lambda 处理程序。在“npm update”之后,一些子依赖,babel?,很可能会干扰并做一些改变的事情。

我们的 AWS 代码在一个模块中初始化,如下所示:

一旦我尝试在服务上模拟方法,就会收到与该服务相关的错误: