0
私は、OVH APIを呼び出す関数の簡単なテストを書こうとしています。私は理解していないSinon.jsでクラスをスタブする方法
、私のsinon.jsスタブいけない "迂回" はovh apiの方法をrequestPromised。 sinon.jsのスタブは、クラスオブジェクトとは異なる働きをしますか?
My機能(myOvhApi.js):
const ovh = require('ovh')({
endpoint: 'Endpoint',
appKey: 'AppKey',
appSecret: 'appSecret',
consumerKey: 'ConsumerKey'
})
exports.myFunction = async (ipAdress, subDomain, ovhDynDNSId) => {
try{
await ovh.requestPromised('PUT', `/domain/zone/${zone}/dynHost/record/${ovhDynDNSId}`,
{
'ip': ipAdress,
'subDomain': subDomain
})
} catch (error) {
console.log(error)
}
return true
}
私のテスト:
const ovh = require('ovh')
const myOvhApi = require('myOvhApi')
describe('description',() => {
it('description', async() => {
const zone = 'mydomain.com'
const ovhDynDNSId = '12345'
const ipAdress = '127.0.0.1'
const subDomain = 'subDomain'
sinon.stub(ovh, 'requestPromised').returns(true)
const expectation = await myOvhApi.myFunction (ovhDynDNSId, ipAdress, subDomain)
expect(expectation).to.equal(true)
})
})
は、関数のパラメータのすべてを記述することなく、機能をスタブ私の経験で、あなたに