В моем сервисе angular я использую частную переменную и пишу модульный тест с помощью Jest. Моя служба выглядит так:
@Injectable()
export class SampleService {
private value = '';
removeValue(): void {
this.value='';
}
setNewValue(value : string): void {
this.value = value;
}
simpleEmptyMethod() {
}
}
Файл модульного теста sample.service.spe c .ts:
describe('sampleservice', () => {
let sampleService : SampleService;
beforeEach(() => {
TestBed.configureTestingModule({
providers : [SampleService]
});
sampleService=TestBed.get(SampleService);
});
it('should be created', () => {
expect(sampleService).toBeTruthy();
})
it('should remove Value', () => {
sampleService.removeValue();
expect(sampleService.value).toBe('');
})
it('should set new value', () => {
sampleService.setNewValue('abc');
expect(sampleService.value).expect('abc');
})
})
Я получаю сообщение об ошибке типа «значение не определено» . Это может быть связано с тем, что значение является частным в классе обслуживания, и каким будет подход к покрытию пустого метода, поскольку тело метода будет определено в будущем. Как справиться с этим сценарием?