У меня есть этот тест.Там я установил некоторые значения моего компонента.Эти значения определяют статус кнопки.Прямо перед fixture.detectChanges () эти значения все еще установлены.Но после (прямо в const createButton ....) эти значения исчезают и снова устанавливаются в ноль.Вопрос в том, почему и как я могу установить эти значения, чтобы я мог обнаруживать изменения в состоянии кнопки.
it('should activate the create button with a customer and service set', () => {
fixture = TestBed.createComponent(MyComponent);
fixture.componentInstance.entry.service = new Service('1', 'Name', null);
fixture.componentInstance.entry.customer = customerMock;
fixture.detectChanges();
const createButton = fixture.debugElement.query(By.css('p-button[name="createButton"]'));
const actual = createButton.attributes['ng-reflect-disabled']; // TODO try find better way
expect(actual).toBe('false');
});
РЕДАКТИРОВАТЬ: как запрос.Я не могу опубликовать весь компонент, но я думаю, что соответствующая часть компонента onInit.
ngOnInit() {
this.servicePoolSubscription = this.stateService.getServiceSubject()
.subscribe(serviceList => this.services = serviceList);
this.Entry = EntryService.prepare();
}
ngOnDestroy(): void {
if (this.serviceSubscription) {
this.serviceSubscription.unsubscribe();
}
}
Как я думаю об этом.EntryService.prepare () подготавливает новый объект.Fixture.detectChanges снова вызывает onInit?