Nodejs, ожидаемая функция-заглушка без сервера будет вызываться один раз, но вызываться 0 раз - PullRequest
1 голос
/ 21 апреля 2020

Я был упомянутой ошибкой при попытке создать заглушку из sinon в моей тестовой функции. Я пытаюсь протестировать функцию, ответственную за выполнение http-вызовов на другие конечные точки. Я пытаюсь понять, почему он не разрешает вывод.

const sinon = require('sinon');
const sandbox = sinon.createSandbox();

  describe('test endpoint', () => {
    it('should be test function', async () => {
      const stub = sinon.stub(someServiceMock.POST, '/funcName').resolves({ status: 204 });
      sinon.assert.calledOnce(stub);
    });
  });
});

и получает AssertError: expected '/funcName' to be called once but was called 0 times

Объект, который я передаю в заглушку,

const someServiceMock = {
  POST: {
    '/funcName': () => {},
  },
};

1 Ответ

0 голосов
/ 21 апреля 2020

Функция-заглушка никогда не вызывается в предоставленном вами примере кода. Если вы на самом деле вызываете функцию с

describe('test endpoint', () => {
  it('should be test function', async () => {
    const stub = sinon.stub(someServiceMock.POST, '/funcName').resolves({ status: 204 });
    someServiceMock.POST["/funcName"]();
    sinon.assert.calledOnce(stub);
  });
});

, тест должен пройти, как и ожидалось.

...