我在 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) 我正在尝试从此处安装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
我不知道为什么会收到此错误。以及如何避免此错误。