シェル上で行うJavascript のテスト環境の実装方法にご紹介したいと思います。
テスト環境には様々なものがありますが、あまりに詳しく書くとわかりづらく感じると思います。
そこで今回はmocha を使ったもっともシンプルな実装までを行います。
あまりこの方面に詳しくない方も以下のコマンドを無心にbash へコピペしていけば大丈夫です。
[環境] macOS Sierra version 10.12.4
1行目:homebrew のインストール
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
homebrew を持ってない方はまずこれをインストールします。
homebrewって何?
世の中には数多のソフトウェアがあります。しかしわざわざサイトまでいってソースコードをビルドするのは骨が折れますし、開発者によって微妙にビルド方法が違ったりするので機械的にいきません。
homebrew はほぼ1つのコマンドで有名なソフトウェアのダウンロード・ビルド・パス設定までを自動で行ってくれるソフトです。
また、アップデートした時などに設定が変になって使えなくなった場合も、その対処法を提案してくれます。
極めて有用なのでソフトウェアをダウンロードするときは積極的に使うのがおすすめです。
2行目:node のインストール
brew install node;
homebrew を使ってnode.js と npm をインストールします。
node.jsって何?
私も専門的に把握しているわけではありませんが、ブラウザを介さずにjavascript を動かすプラットフォームの一つです。
サーバサイドでJavascript を動かす上では極めて有用なツールとなっています。
npm って何?
node.js のような非ブラウザ環境で動かすことを前提としたjavascript のパッケージ管理ツールです。
python でいうpip やR のpackage をイメージしてもらえばよいと思います。
3行目:mocha のインストール
npm install --global mocha;
npm を使ってmocha インストールします。
このmocha がテストを行うためのツールとなります。
4行目:テスト環境の構築
mkdir testJS;cd testJS;
ただディレクトリを作るだけです。
またついでにテストにかけるコードを用意しておきましょう。
以下をコピペしてtestJSディレクトリ上においてください。
console.log('テスト開始')
var value=1
//テストしたい関数
function myfunc(arg){
return(arg+1);
}
console.log('予想値:'+2)
console.log('実際の値:'+myfunc(value))
console.log('等価であるか?'+(2===(myfunc(value))))
5行目:テスト実行
mocha test.js;
テスト開始
予想値:2
実際の値:2
等価であるか?true
0 passing (0ms)
これでテスト環境の構築ができました。
補足説明
test.jsを実行するだけならばnode.js をインストールするだけで大丈夫です。
node test.js;
しかしmocha を使うと時間も測ってくれるのであったほうがよいでしょう。
またこの記事では説明しませんがmocha はこんなテストを実行するだけでなく、もっとちゃんとしたテストも実行できます。
むしろ今回のテストはテストと言っていいのか怪しいくらいのものです。
よりちゃんとしたテストは以下の記事などを参考にしていただければと思います。
mocha公式
小さく始める JavaScript のテスト
テストフレームワーク mocha
[一から始めるJavaScriptユニットテスト]
(http://developer.hatenastaff.com/entry/2016/12/05/102351)
以上です。ありがとうございました。