首页 > 解决方案 > Angular:如何在单元测试夹具中获取 @ViewChild 引用或模拟它

问题描述

在我的组件下,我有这个变量,它引用了 html 小部件元素(我从第三个库中获得):

<dx-data-grid id="myWidget" #myWidget>
   ...
</dx-data-grid>

所以在我的 ts 文件中,我这样称呼它:

  @ViewChild('myWidget') datatableWidget: DxDataGridComponent;

在某些方法中,我以这种方式使用它

myMethod(){
  this.datatableWidget.instance.myWidgetMethod();
}

现在在我的测试文件中,我想测试我的方法: myMethod()

当我调用我的小部件组件的一些私有方法时,我得到了

 Cannot read property 'myWidgetMethod' of undefined 

我如何从我的夹具中获取@ViewChild的引用,或者我如何模拟它或事件 spyOn It ?

建议?

标签: javascriptangularjasminekarma-jasminekarma-runner

解决方案


推荐阅读