如何使用div作为ViewChild测试角度分量

时间:2018-06-22 20:01:47

标签: angular jasmine karma-jasmine jestjs

我有一个如下所示的角度分量。我想为下面的initMyChart()函数编写茉莉花测试。由于无法在测试中访问viewChild div元素,因此无法初始化库。

component.html
<div #myId></div>

component.ts
export class MyComponent implements OnInit{

  chart: ChartLibrary;

  @ViewChild('myId') myIdDiv: ElementRef

  constructor(){}

  initMyChart(){
   //Using some library which takes the div as input to initialize
   this.chart = new Chart(this.myIdDiv.nativeElement)
  }
}

当我尝试运行测试时,出现以下错误

console.error node_modules\jsdom\lib\jsdom\virtual-console.js:29
    Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)

1 个答案:

答案 0 :(得分:0)

我认为使用可以使用fixture.debugElement。例如:

const el = fixture.debugElement.nativeElement.querySelector('#myId');

您可以点击以下链接:enter link description here