在@ViewChild变量中使用spyOn时出错

时间:2020-02-14 13:30:33

标签: angular jasmine karma-jasmine angular-decorator

我有一个使用的组件

@ViewChild(NgbDropdown) public dropdown: NgbDropdown;

this.dropdown.isOpen();

在我的规格文件中,我需要将isOpen()的结果模拟为true,但似乎无法对其进行监视。

出现此错误:

 Error: <spyOn> : could not find an object to spy upon for isOpen()
        Usage: spyOn(<object>, <methodName>)

谢谢!

1 个答案:

答案 0 :(得分:1)

这与短绒有关

这应该是它的模拟方式

component.dropdown  = jasmine.createSpyObj(['isOpen']);

(component.dropdown as SpyObj<NgbDropdown>).isOpen.and.returnValue(true);

谢谢!

相关问题