Node.jsのテストがらみで(ぱっと)目に付いたパッケージ
TDD/BDDとまではいきませんが、以下の様なテストを出来るようなテスト手法を探りたい。。という思いから、今回はテスト関連のモジュールを調査し、とりあえずのとっかかりとして、利用するテスト環境を探し出すことを目的としています。
- Node.jsで動く
- 書いたコードのテストが出来る
- テストタイミングは、任意及び定期的など。。
- テストコードは簡潔で、扱いやすい奴で。。
- 一応、トレンドには乗っておきたい。
尚、本ページの情報は、Web知識の浅い、Node.jsの扉を叩いている程度のレベルの私が、半日程度(2015.06.16時点)、ググった情報です。従って、誤りや、ずれてるところも多々あると思います。また、得た情報は基本、googleより検索し、引用したものが主です。(出来る限り引用元を記載しましたが漏れているのもあります)
まとめ
- 理由を問われると困ってしまうが、それなりにネット上の情報が豊富なので、以下を使ってみようと思う。
- テストフレームワーク: mocha
- アサーションライブラリ:power-assert
- フロント側のテスト: karma
- タスク自動化ツールとの連携は、おいおい。。
- 以下の環境構築については別途。
調査パッケージ(モジュール)
mocha
- MIT
- https://github.com/mochajs/mocha
- BDDスタイルでもTDDスタイルでも使えてグローバル変数のリーク検出までしてくれるテストフレームワークです。
node.jsやブラウザから実行ですることもできます。また、非同期のテストも可能になってます。 - アサーションライブラリが同梱されていないので、自分で選ぶ必要がある。(
power-assert など)
QUnit
- MIT
- jQueryのテスト用に作られ、今もjQuery、jQuery-UIのテストに使われている。
- jQueryには依存していない。
Jasmine
- MIT
- javascriptテストフレームワーク。
- mochaへの移行も可能な模様。
power-assert
- MIT
- https://github.com/power-assert-js/power-assert
- assertのライブラリ
- 普通の比較演算子で普通にassert書けば、失敗時に各部分式の値を表示してくれる
-
http://azu.github.io/slide/sakurajs/power-assert.html
参照すると、mochaをべーすに考える模様。 -
https://github.com/power-assert-js/intelli-espower-loader
がスィート版?
espowerify
- power-assert向けのBrowserify変換モジュール
chai.js
- MIT
- https://github.com/chaijs/chai
- assertのライブラリ
should
- MIT
- https://github.com/tj/should.js/
- assertのライブラリ
Selenium Webdriver
- Apache 2.0 License
- UIもテスト出来るテストフレームワーク
- とりあえず、UIは後回し。。。
GoogleTrendsデータ
-
こちら
で以下に抽出してくれています。
「QunitとJasmineが大きく人気を二分、それに続くMochaという感じ」だそうです。
Karma
- MIT
- https://github.com/karma-runner/karma
- Googleが造った、node.jsベースのJavaScriptテストランナー。Testacularから改名。
- フロント側からのテストが行える。
Testem
- MIT
- https://github.com/airportyh/testem
- Karmaと似たような感じかなぁ。。
タスク自動化ツール
ビルドの自動化やテストの自動化に用いる。
使い方はまだよくわからないが、gulpなどで、定期的にテストを実行させれば、さらに素敵。。