小编FLA*_*ASH的帖子

如何模拟 AWS sqs 调用进行单元测试

我在 Node 应用程序中使用 AWS SQS 队列,我必须为此编写单元测试用例。为此,我想模拟sendMessage()测试文件中的 SQS 函数调用,我该怎么办?

我曾尝试使用,aws-sdk-mock但在调用 时sendMessage(),该函数正在尝试连接到队列 URL。

测试文件

import AWSMock from 'aws-sdk-mock'
import sendMessage from '../api/sqs/producer'

describe.only('Test case for SQS SendMessage', () => {
  it('should return the UserEvent', async () => {
    AWSMock.mock('SQS', 'sendMessage', () => Promise.resolve('Success'))
    const res = await sendMessage('testURL', 'data')
    console.log('RES', res.response.data)
  })
})
Run Code Online (Sandbox Code Playgroud)

生产者文件

const AWS = require('aws-sdk')

const sqs = new AWS.SQS({
  region: 'us-east-1'
})

const sendMessage = async (msg, queueUrl) => {
  try { …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing node.js jestjs aws-sdk

12
推荐指数
1
解决办法
2万
查看次数

请运行`npm cache clean`

我正在尝试从此处安装IPFS npm install ipfs --save ,它给我的错误是

npm ERR!tar.unpack错误读取/ media / FLASH / Tech / IPFS / ipfs

npm ERR!addLocal无法安装/ media / FLASH / Tech / IPFS / ipfs

npm ERR!Linux 4.15.0-29-通用

npm ERR!argv“ / usr / local / bin / node”“ / usr / local / bin / npm”“安装”“ ipfs”“ --save”

npm ERR!节点v6.9.2

npm ERR!npm v3.10.9

npm ERR!0字节的tarball

npm ERR!请运行npm cache clean

我尝试做,npm cache clean但是在做的同时仍然给我同样的错误npm install ipfs --save

我不知道为什么会收到此错误。以及如何避免此错误。

node.js npm ipfs

-2
推荐指数
3
解决办法
2万
查看次数

标签 统计

node.js ×2

aws-sdk ×1

ipfs ×1

javascript ×1

jestjs ×1

npm ×1

unit-testing ×1