JavaScript でテストを書く時のライブラリについて調べた

1年半前は 業務 とか 趣味 で TypeScript を使ってテストも書いてたんだけど、最近は iOS ばかりで忘れてしまっていた。

けどまた仕事で同じような環境を作ったので、テストを書くときにどういう Framework があって役割は何かをメモっておく。

テストフレームワーク

テストを書くために必要なライブラリ。
iOS でいったら Quick や XCTest, Rails でいったら rspec とかが該当する。

アサーションライブラリ

iOS でいうと Nimble が該当する。
XCTest や rspec には組み込みで入っている。

mock / stub / spy

sinon 以外に話題に上がっているのを見なかったので、デファクトスタンダードだと思っていいのかもしれない。

テストランナー

コマンドラインでテスト実行したらブラウザが開いて〜みたいなのができるっぽい。

用途に合わせて構成を決める

自分はモックやテストランナーは不要だけど TypeScript を使っているので mocha + power-assert + espower-typescript という構成になった。
今後モックしたくなったら sinon を追加すると思う。

ReactNative とかでがっつりテスト書くなら jest は良さそうだし、ブラウザでテストをするなら Karma などが必要かもしれない。
その辺は人によって違うので各自選ばないといけない。

参考