Я начал писать примеры модульных тестов, используя sinon, и столкнулся со следующей проблемой:
myfile.js
module.exports = class A{
constructor(classB_Obj){
this.classBobj = classB_Obj;
classBobj.someFunctionOfClassB(); // error coming here
}
doSomething(){
}
}
, где класс B находится в
myfile2.js
module.exports = class B{
constructor(arg1, arg2){
this.arg1 = arg1;
this.arg2 = arg2;
}
someFunctionOfClassB(){
}
}
, когда я тестирую класс A и использую sinon для заглушки класса B
const myfile2 = require('../myfile2').prototype;
const loggerStub = sinon.stub(myfile2, 'someFunctionOfClassB');
, при его выполнении выдается исключение classBobj.someFunctionOfClassBэто не функция.Как правильно его заглушить?Я не хочу создавать экземпляр класса B.