40
39

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

testem + mocha + istanbul で網羅性の高いテスト駆動開発

Last updated at Posted at 2013-12-05

==========

testem というテスト自動実行ツール、 mocha というテストフレームワーク、 istanbul というカバレッジツールを使って、網羅性の高いテスト駆動開発を実現します。

testem はグローバルにインストールしておきます。

インストール
npm install -g testem

テストに利用するツールをインストール。これらのツールは、Jenkins や Travis などのCI環境でも使えるように、プロジェクトの devDependencies に入れておきます。

インストール
npm install mocha --save-dev
npm install istanbul --save-dev

プロジェクトルートに、 testem.json を作成し mocha の設定を追加します。src_files は、ライブラリの対象となる JS とテストコードのJSを指定します。

testem.json
{
  "framework": "mocha",
  "src_files": [
    "*.js",
    "lib/**/*.js",
    "test/test.*.js"
  ],
  "launchers": {
    "Mocha": {
      "command": "node_modules/.bin/istanbul cover node_modules/mocha/bin/_mocha --print none --report html -- test/test.*.js -R tap",
      "protocol": "tap"
    }
  },
  "launch_in_dev": [
    "Mocha"
  ]
}

testem を実行します

testemの実行
testem

スクリーンショット 2013-12-06 0.46.37.png

テストが完了すると、 coverage の下にHTMLが生成されているので、coverage/index.html をブラウザで開きます。

open coverage/index.html

スクリーンショット 2013-12-06 0.49.30.png

スクリーンショット 2013-12-06 0.51.50.png

ソース・ファイルを変更するたびに、カバレッジのHTMLも更新されるので、楽しくテストコードを書きながらカバレッジ率を高めて、網羅性の高いテストを実現できます。

40
39
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
39

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?