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 testEnvironment
jest-environment-jsdom
構成の使用
DOM モックはいくつかの方法でテストされました。
- createElement() の使用
- 本文のinnerHTMLの設定