Я изолировал проблему, с которой столкнулся в своих узлах здесь. Заглушка Sinon для зависимой функции не работает должным образом. Я не понял, чего мне здесь не хватает. Цените помощь. Вот пример кода.
sinontest.js
"use strict";
function getSecretNumber () {
return 44;
}
function getTheSecret () {
return `The secret was: ${getSecretNumber()}`;
}
module.exports = {
getSecretNumber,
getTheSecret,
};
sinonTest_spec.ts
"use strict";
const sinon = require("sinon");
const sinonMediator = require("./sinonTest");
const assert = require("assert");
describe("moduleUnderTest", function () {
describe("when the secret is 3", function () {
beforeEach(function () {
sinon.stub(sinonMediator, "getSecretNumber").returns(3);
});
afterEach(function (done) {
sinon.restore();
done();
});
it("should be returned with a string prefix", function () {
const result = sinonMediator.getTheSecret();
const stubValue = sinonMediator.getSecretNumber();
assert.equal(stubValue, 3); //this assertion passed
assert.equal(result, "The secret was: 3"); //but this assertion failed.
});
});
});
Вот ошибка утверждения, которую я получаю, когда выполняю тестовый пример.
AssertionError [ERR_ASSERTION]: 'The secret was: 44' == 'The secret was: 3'
Спасибо.