デラエモン、カイハツニッキ RSSフィード

2011/11/15

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でテスト。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/delaemon/20111115/1321326135
リンク元