あいつの日誌β

働きながら旅しています。

jsTestDriverを試す

環境

この記事で紹介しているコードはmacでしかたぶん動きません。ご注意下さい。

% sw_vers 
ProductName:    Mac OS X
ProductVersion: 10.6.8
BuildVersion:   10K549

雛形作成

% mkdir Practice-JsTestDriver
% cd Practice-JsTestDriver

jsTestDriverを取得

% mkdir bin
% curl http://js-test-driver.googlecode.com/files/JsTestDriver-1.3.3d.jar -o bin/jsTestDriver-1.3.3d.jar 

設定ファイルを作成

% vi jsTestDriver.conf
server: http://localhost:4224

load:
 - root/js/mylibs/*.js
 - tests/js/mylibs/*.js

timeout: 60

jsファイルを作成

% mkdir -p root/js/mylibs 
% vi root/js/mylibs/myapp.js
MyApp = {}; 

MyApp.Human = function () {}; 

MyApp.Human.prototype.hello = function (name) {
    return "Hello " + name + "!";
};

testファイルを作成

% mkdir -p tests/js/mylibs
% vi tests/js/mylibs/myapp_test.js
TestCase("HumanTest", {
    setUp: function () {
        this.human = new MyApp.Human();
    },  

    tearDown: function () {
        delete this.human;
    },  

    "test hello" : function () {
        assertEquals("Hello World!", this.human.hello("World"));
    }   
});

ブラウザ用のshell scriptを作成

% mkdir script
% vi script/safari
!/bin/sh
open -a safari $*
% chmod +x script/safari

jsTestDriver実行用のスクリプトを作成

#!/bin/sh

CWD=`pwd`

JSTESTDRIVER_BIN=${CWD}/bin/JsTestDriver-1.3.3d.jar
JSTESTDRIVER_CONF=${CWD}/jsTestDriver.conf

BROWSER=script/safari

(java -jar ${JSTESTDRIVER_BIN} \
    --port 4224 \
    --config ${JSTESTDRIVER_CONF} \
    --tests all \
    --browser ${BROWSER} \
    --verbose \
    --captureConsole
    )

実行

% script/jstestdriver.sh

感想

テストを走らせるたびにブラウザを起動しているのでちょっと重いなあ。テストを書いてから実装する、という開発プロセスには向かないかも。

てっとりばやく試したい貴兄へ

gitに上げたのでどんな感じに動作するのか確かめる事ができます。※ただしMacユーザーのみ

% git clone git@github.com:okamuuu/Practice-JsTestDriver.git
% sh script/jstestdriver.sh

一言

良いお年を!!また来年!!