Я пытаюсь протестировать компонент, который использует Сервис со свойством, вызываемым внутри компонента метода.Мне нужно смоделировать и изменить это свойство в зависимости от теста.
У меня есть это:
export class XService{
xProperty:boolean;
}
export class XComponent{
ctor(private xService:XService){
}
xMethod():void{
if(xService.xProperty){
//some code
}
}
}
Я попытался создать макет и добавить свойство в методе beforeEach
beforeEach(() => {
/**more code**/
xServiceMock = jasmine.createSpyObj(['xMethodService']);
xServiceMock ['xProperty'] = false;
});
Это работает хорошо, пока мне не нужно изменить значение в одном из тестов.Когда я это делаю, значение не обновляется.
it('x validation', () => {
xServiceMock.xProperty = true;
fixture.detectChanges();
component.xMethod();<<<-- When it calls the method the change to TRUE is not refreshed
expect(/****/).toBe(false);
});
Знаете ли вы, могу ли я высмеивать это свойство с Жасмин?Возможно ли это?