JavaScriptのテスティングフレームワークを検討してみた

投稿日:

目的

ゴシップサイトブロッカーでロジックを変更する必要がでてきたため、 単体テストを作ることにしました。

これまではDOMの操作がほとんどなので、あまり単体テストをやる気になれなかったんですよね。。。

広く使われれいるもの

いろいろ見てみましたが、以下がよく使われているようです。

ただ、JavaScript系はいろんなツールが乱立していて、正直良くわかりませんでした。。。

勢い的にはJest

いくつかのサイトを見てましたが、Jestが一番勢いありそうな感じです。 自分はこういうときは「○○に乗り換えた」という記事が多そうなのをチェックしていますが。 Jestが一番多そうな感じです。

ただ、Google Chrome拡張に適用するには問題がありました。

  • ES6かNode.jsのモジュールを前提としている
  • Google ChromeはES6のモジュールに対応しているが、content scriptではそのままでは動かない。

こんな記事もありますが、よく分かりませんでした。。。

2日ほどいろいろ試してみましたが挫折。

最終的にはKarma + Jasmine

最終的には以下の記事を参考にして、Karma + Jasmineで作りました。

chrome.*のAPIの対応に悩んだのですが、 これはAPIをラップする簡単なユーティリティ関数を作っていたので、そちらをMockにすることで対応できました。