角度6-触发测试中的反应形式控制值变化

时间:2018-09-03 23:26:47

标签: angular

我已订阅表单控件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测试的正确方法是什么?

谢谢

0 个答案:

没有答案
相关问题