Как мне издеваться над созданием конструктора моего родительского класса в производном классе.
вот пример, который я тестирую.
myclass. js
class a {
constructor() {
console.log('i am from class a constructor');
}
foo() {
console.log('i am from class a foo method');
}
}
class b {
constructor() {
console.log('i am from class b constructor');
}
baz() {
let obj = new a();
a.foo();
console.log('i am from class b baz method');
}
}
Вот мой unittest, использующий Sinon. js Я издеваюсь я создаю unittest для класса b -> метод baz (). я ожидаю, что вызов метода baz () не должен вызывать фактический класс a, и он не должен печатать консоль, которая находится в классе конструктор. как я могу добиться этого. sinon.createStubInstance () Я использовал для создания объекта, но как смоделировать конструктор?
myclass.test. js
describe('myclass' ()=> {
it('should not call class a constructor', (done) => {
let b_obj = new b()
b_obj.baz();
done()
});
})
Выходная печать для Код выше
i am from class a constructor
i am from class a foo method
i am from class b baz method
Ожидаемый результат для кода выше
// should be mocked .. i am from class a constructor
//should be mocked .. i am from class a foo method
i am from class b baz method