我的 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)