jasmine-nodeを使ってテスト
jasmineのnodejs版を使ってみました。
CoffeeScriptでもテストできそう。
jasmine自体使ったことないのでまずは基本から。
1.npmでインストール
$ npm install -g jasmine-node
2.プロジェクトフォルダの直下にlibとspecというフォルダを作成
$ cd myproject $ mkdir lib $ mkdir spec
libにテスト対象となる実コード、specにスペックファイルを置く。
3.簡単なサンプルを作成
lib/MyClass.js
exports.MyClass = (function(){ return { list:[1,2,3] } })();
spec/MySpecs.js
var MyClass = require('../lib/MyClass').MyClass; describe('MyClass', function() { it('lengthプロパティで配列長を取得する事ができる', function() { expect(MyClass.list.length).toEqual(3); }); });
describeメソッド:クラス名など
itメソッド:テスト対象の振る舞い
expectメソッドの引数にテスト対象
toXXXXメソッドの引数に期待値を記述 https://github.com/pivotal/jasmine/wiki/Matchers
4.テスト実行
$ jasmine-node spec/MySpecs.js Started . Finished in 0.001 seconds 1 test, 1 assertion, 0 failures
5.必要があれば初期化、終了処理など。
spec/MySpecs.js
var MyClass = require('../lib/MyClass').MyClass; describe('MyClass', function() { beforeEach(function() { // 初期処理 }); it('テスト1', function() { expect(テスト対象).toEqual(評価値); }); it('テスト2', function() { expect(テスト対象).toEqual(評価値); }); });
beforEach:各itメソッド呼び出しの前に毎回実行される
afterEach:各itメソッドが実行された直後に毎回実行される
次回CoffeeScriptでテスト。