我正在尝试为其中一个下拉列表编写一个单元测试,其顶部有一个与之关联的搜索框。问题是 valueChanges 没有被解雇,我看不到filteredValues
要发出断言。我看到搜索框正在使用值“S2”进行更新,但没有看到来自组件的 valueChanges 被调用。非常感谢我在这里做错了什么的任何帮助。
单元测试 :
it('should search for stores', fakeAsync(() => {
initTest('add');
fixture.detectChanges();
fixture.nativeElement.querySelector('#select').click();
fixture.detectChanges();
const d = overlayContainer.getContainerElement().querySelector('#search');
d.textContent = 'S2';
d.dispatchEvent(new Event('input'));
flush();
fixture.detectChanges();
fixture.whenStable().then(() => {
component.filteredValues.subscribe(value => {
console.log('Value :: ' + JSON.stringify(value));
});
});
}));
内部组件:
this.search.valueChanges.pipe(takeUntil(this._destroyed)).subscribe(searchText => {
this.filteredValues = of(this.filterValue(searchText));
});