Help us understand the problem. What is going on with this article?

css modulesしてるコンポーネントのテストをしようとして死んだ

More than 3 years have passed since last update.

タイトルのとおりです。

結論だけ挙げると以下のコマンドで実行できるようになった。重要なのは--require jsdom-global/register --require ignore-stylesの部分です。

$ mocha --require jsdom-global/register --require ignore-styles --compilers jsx:babel-register --recursive test

具体的にはinsert-cssを使用しているパッケージを利用したコンポーネントを作て、そのテストをmochaで動かそうとしたらdocumentが無いと言われて死ぬ。
自分のコンポーネントが特にcss modulesみたいな事をしていなくても依存モジュールが行っているとdocumentにstyleを挿しに行こうとするのでだめ。
確認できてないけどstyle-loaderとかでも同じ問題が起きるかもしれない。

最初はdocumentが無いならkarmaで動かせればいいやんという事で頑張ってたけどwebpackとの連携がうまくできず、あらためて冷静になってmochaで試行錯誤してたらいけた。

airtoxin
いい感じにやってます
https://airtoxin.github.io/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away