1

LightningChartJS ChartXY をインスタンス化するクラスの実装をテストする Jest テストを作成しようとしています。

チャートのインスタンス化中に次のエラーがスローされます。

  EngineError: Null pointer in i
  ...
  at new i (../../node_modules/@arction/lcjs/dist/lcjs.js:1:8948)
  at Ot (../../node_modules/@arction/lcjs/dist/lcjs.js:1:20740)
  at new i (../../node_modules/@arction/lcjs/dist/lcjs.js:1:458125)
  at ../../node_modules/@arction/lcjs/dist/lcjs.js:47:49973
  at Object.ChartXY (../../node_modules/@arction/lcjs/dist/lcjs.js:47:211838)
  at new LightningPlot (src/app/lightningChart.ts:70:8)

この GH の問題は、問題の原因を示唆しています。LightningChartJS は、挿入するそれぞれの DOM ノードを見つけられません。

私がこれまでに試したこと:

  • jest-canvas-mock をセットアップにインポートします (JSDom でキャンバスを有効にして、この問題を回避するために必要です)
  • セットアップ中に JSDom インポートを使用して DOM をモックする (この SO の回答に基づく)
  • Jest testEnvironmentjest-environment-jsdom構成の使用

DOM モックはいくつかの方法でテストされました。

  • createElement() の使用
  • 本文のinnerHTMLの設定
4

1 に答える 1