Как реализовать функциональное модульное тестирование sinon с макетами в NodeJs? - PullRequest
0 голосов
/ 01 апреля 2019

Как реализовать sinon.mock для следующей функции.

функция getDashboard (req, res) { res.send ( "успех"); }

describe("GetDashboard test"){
    it("Response Should be test", function(){
        const getDashboard = sinon.stub().returns('success');
        let req = {}     
        let res = {
        send: function(){};
        const mock = sinon.mock(res);     
        mock.expect(getDashboard.calledOnce).to.be.true;      
        mock.verify();
      }    
    })
}

Также как заглушки данных в функции. Это правильный способ насмешки.

1 Ответ

0 голосов
/ 01 апреля 2019

Вот рабочий пример:

const sinon = require('sinon');

function getDashboard(req, res) { res.send('success'); }

describe("getDashboard", function () {
  it("should respond with 'success'", function () {
    const req = {};
    const res = { send: sinon.stub() };
    getDashboard(req, res);
    sinon.assert.calledWithExactly(res.send, 'success');  // Success!
  })
});

Подробности

getDashboard вызывает функцию send объекта res, которыйон задан, поэтому вам просто нужно создать фиктивный объект с заглушкой sinon для свойства send и убедиться, что он был вызван, как и ожидалось.

...