высмеивать модуль запроса с помощью sinon - PullRequest
0 голосов
/ 12 декабря 2018

Я хочу смоделировать следующий фрагмент кода, используя sinon,

  request(options, function(error, response) {
    if (error) {
      reject(error);
    } else {
      resolve(response);
    }
  });

Можете ли вы помочь мне с этим?

1 Ответ

0 голосов
/ 31 января 2019

Принимая это как запрос на получение,

let request = require('request') // request module.
let options = "some url" // mock data for url
requestStub = sinon.stub(request, 'get').callsArgsWith(0, options);// first argument of request call is options.
requestStub.yields(error, response)//It returns error and response. These will be mock data
sinon.assert.calledOnce(requestStub)//Test to check whether stub is called or not.
requestStub.restore(); // need to restore stub every time after use.

Таким образом, в зависимости от того, какую ошибку и ответ вы передадите, он вернет вывод соответственно.

...