小编Can*_*ton的帖子

如何为 NodeJS 单元测试模拟 request-promise-native?

我的 NodeJS 应用程序使用 request-promise-native。

import request from 'request-promise-native'
const https = require('https')

const myRequest = request.defaults({
  baseUrl: 'myBaseUrl',
  agent: new https.Agent({ keepAlive: true })
})

async function findResults() {
  const myResponse = await myRequest.get({
      uri: '/myUri'
  })
  return myResponse
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试模拟上述单元测试请求的“获取”。但它仍然进行实际调用并获得结果,而不是通过我的模拟对象调用。

我尝试了不同的变体,使用 Sinon:

import test from 'ava'
import sinon from 'sinon'
import Bluebird from 'bluebird'
import request from 'request-promise-native'
import { findResults } from '../services/results'

test.only(async t => {
  let response = JSON.stringify({
     statusCode: 504
  })

  sinon.stub(request, 'get').returns(Bluebird.resolve(response))

  const returnValue …
Run Code Online (Sandbox Code Playgroud)

unit-testing node.js sinon ava

5
推荐指数
1
解决办法
8578
查看次数

标签 统计

ava ×1

node.js ×1

sinon ×1

unit-testing ×1