Я пытаюсь заглушить экземпляр класса, используя sinon.createStubInstance
, но получаю сообщение об ошибке, указывающее, что закрытая переменная-член отсутствует.Конечно, я не могу явно установить его, потому что это закрытый член.
Примеры классов:
class Foo {
private readonly bar: string;
constructor(bar: string) {
this.bar = bar;
}
}
class Parent {
foos: Foo[];
constructor(foos: Foo[]) {
this.foos = foos;
}
}
И в тесте я пишу блок beforeEach
:
beforeEach(function () {
const stubFoo = sinon.createStubInstance(Foo);
const stubParent = sinon.createStubInstance(Parent);
stubParent.foos = [stubFoo]; // Tslint error here
});
Ошибка Tslint:
Свойство 'bar' отсутствует в типе 'SinonStubbedInstance', но требуется в типе 'Foo'
Длязапись Я использую Typescript v3.0.3 и Sinon v7.4.1.