我已订阅表单控件valueChanges如下所示
ngOnInit() {
this.search.valueChanges.pipe(
debounceTime(300)
).subscribe((searchText: string) => {
if (searchText.length > 0) {
this.performSearch(searchText);
} else {
this.searchResults = [];
}
});
}
我想测试一下,将值更改为非空值时会调用我的performSearch函数。
我正在努力弄清楚如何触发valueChanges,我已经尝试过类似的事情:
component.search.setValue('brad');
fixture.detectChanges();
fixture.whenStable().then(() => {
expect(mockTmdbSearchService.multiSearch).toHaveBeenCalledWith('brad');//this is what my performSearch function calls
});
我的间谍没有被召唤,我怀疑我没有正确设置一些东西来检测测试中表单控件值的变化。
在Angular中进行Forms \ ReactiveForms测试的正确方法是什么?
谢谢