developit / developit/jsdom-worker
Issues when running jest with coverage for all packages within a lerna monorepo
- 主要言語
- JavaScript
- スター
- 291
- フォーク
- 20
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
I am not 100% sure if my problem really is jsdom-worker related but I guess here is my best starting point:
I am currently working on a lerna monorepo where one of the packages executes a function in a worker. I therefore included jsdom-worker in the corresponding test for this package. The function is an export from a different file of this package. I had to add `/* istanbul ignore file */` to it because otherwise the coverage would fail due to `cov_*` variables added during testing not being reachable for the worker. Jest is used for testing and coverage.
So far this would be OK - and tests as well as coverage run just fine when run localy from within the package.
But if I do run the coverage from the root directory it always fails with `ReferenceError: cov_2j8vgqrgle is not defined` in `node_modules/jsdom-worker/src/index.js:89:18`.
The function that is run in the worker has a function imported from another package of the monorepo and if I do run global coverage (remember: running coverage from within the package is 100% fine) this one seems to be interpreted and `cov_*` gets added to it which is guaranteed to fail.
Any idea what goes wrong and if there is anything I can do about it?
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
まず、パッケージディレクトリからの Jest coverage と Lerna リポジトリのルートからの coverage を比較し、node_modules/jsdom-worker/src/index.js:89 と、もう一方の monorepo パッケージから import される関数に焦点を当てます。ReferenceError を再現し、なぜ cov_* のインストルメンテーションが worker に到達するのかを特定します。root レベルの coverage 実行がこのエラーなしで行われれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript
- 領域
- testing
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100