양방향 바인딩이 작동하는지 테스트하기 위해 구성 요소에 대한 테스트를 작성하려고합니다.각도 2 양방향 바인딩 입력 값을 테스트하는 방법
한쪽에 나는 그렇게 보이는 검사를 (그리고 그것은 통과) :
it('should bind displayed value to the SearchComponent property',() => {
searchComponent.searchBoxValue = 'abc';
searchCompFixture.detectChanges();
expect(inputEl.nativeElement.getAttribute('ng-reflect-model')).toBe('abc');
});
반면에
searchCompFixture = TestBed.createComponent(SearchComponent);
inputEl = searchCompFixture.debugElement.query(By.css('#search-box-input'));
및
<input
id="search-box-input"
[(ngModel)]="searchBoxValue"\>
내가 어디를 원한다 먼저 입력 요소의 값을 설정하는 테스트를 작성하고 SearchComponent
특성 값이 변경되었는지 점검하십시오. 내 시도 : searchComponent.searchBoxValue
값이 설정되지 않기 때문에
it('should bind SearchComponent property to the displayed value', fakeAsync(() => {
inputEl.nativeElement.value = 'abc';
let evt = new Event('input');
inputEl.nativeElement.dispatchEvent(evt);
tick();
searchCompFixture.detectChanges();
expect(searchComponent.searchBoxValue).toBe('abc');
}));
하지만이 작동하지 않습니다. 어떤 아이디어가 이것을 고치는 방법?