プログラムの品質を保つ方法をまとめてみたいと思います。

今回は、node.jsで動くjavascriptのテストや構文チェック、カバレッジを行って継続的に保守できるような環境を作っていく方法について触れていきたいと思います。

各用語については、これから解説していきます。私自身もテスト初心者ですので、できるだけ平たく説明していきますが、もしこれは違う!という内容があればツッコミをお待ちしております。

 develop or drink ?  photo by tea ©
Ads

目次

テストはなぜ必要なのか?

javascriptでプラグインやモジュールを作っていると、修正を加える機会があるかと思います。

ここで気になるのが、書いたコードがうまく動作するか否かです。ある箇所を修正した際に、別の箇所で不具合が発生するという事態は避けたいところですよね。しかし、修正する度に全ての動作を手作業で確認するのは、かなりの手間と労力が必要となります。

そこで登場するのが「テスト」という手法です。テストは、予め想定した通りにプログラムが動作するのかを確認できる仕組みのことで、これもやはりプログラムで書いていきます。

node.jsで必要なテスト環境とは?

続いて、node.jsでプログラムを書いていく事を前提に、テストやコード品質の保持に必要な環境を先にまとめてみたいと思います

テストや、コード保全を行う環境を作るには、具体的に以下のnpmパッケージを使います。

  • mocha (モカ)

    テストフレームワークと呼ばれているパッケージです。テストのプログラムを実行させることができる枠組みです。

  • power-assert (パワーアサート)

    テストフレームワークのmochaに、想定した動作ルールを書くことができ、想定外のプログラム動作が見つかるとエラーで教えてくれます。この動作ルールのことをアサーションと呼んでいます。

  • intelli-espower-loader (なんて読むんだろ?)

    power-assertを実行するために、コードを変換してくれるパッケージ。power-assertのテストを実行する際に、mochaの内部で利用します。

  • istanbul (イスタンブール)

    テストのカバー率を調べることができます。プログラムにテストを行えていない箇所があれば、その箇所をエラーで教えてくれるため、テストを網羅するのに役立ちます。この網羅率の事をカバレッジと呼んでいます。今回はistanbulの中でmochaのテストを実行し、同時にカバレッジも取得していく流れとなります。

  • eslint (イーエスリント)

    javascriptやES6等の文法と記述が正しいかをチェックできるパッケージです。記述のチェックルールは別途設定ファイル(.eslintrc)で決めたり、設定npmパッケージ(eslint-config-◯◯◯というパッケージが無数に存在)を全て反映・または一部流用することが可能となっています。

まとめ

という事で、今回はjavascriptやES6におけるテストの環境についての概要や、テストの必要性について簡単にまとめていきました。次回以降はmocha、power-assert、istanbul、eslintのそれぞれについて、簡単な使い方を解説していきたいと思います。

自身のブログ
javascriptでプログラムのテストを行う方法を解説します。mocha・power-assertの簡単な使い方

また最終的にはgithubからTravis CIを使って継続的にコードを保全できる環境を作ってみたいと思います。

自身のブログ
GithubとTravisCIで継続的インテグレーションする方法を解説します。