javascriptのテストのはなし:QUnit(その2)

こんにちは。ともだです。
引き続きQUnitです。前回はとりあえずテストの書き方について書きましたが、module()について書くのを忘れていたので今回はmodule()についてです。

module()を使うとテストをまとめる事が出来るのですが、そのまとまりに対してsetupとteardownを定義する事が出来ます。使い方は次の様な感じです。
module()を実行したらその次にmodule()が実行される間にある全てのテストがグループ化されます。

//グループを作るだけ
module("module A");
test("test1", function(){...});

//setUpとtearDownを定義
module("module B", {
	setup:function(){...}, 
	teardown:function(...){}
});
test("test2", function(){...});
test("test3", function(){...});

実際にmodule()を使ってテストを書いてみます。Hogeは前の投稿で使ったものです。

var hoge;
//まとまりを作るだけ
module("module A");
test("test1", function(){
	hoge = new Hoge();
	notEqual(hoge.add(1,2), 4);
	hoge = null;
});

//setUpとtearDownを定義
module("module B", {
	setup:function(){
		hoge = new Hoge();
	}, 
	teardown:function(){
		hoge = null;
	}
});

test("test2", function(){
	notDeepEqual(hoge.package("test1", "test2"), {p1:"test2", p2:"test1"});
});

test("test3", function(){
	var hoge2 = new Hoge();
	notStrictEqual(hoge, hoge2);
});

module("module C");
test("test4", function(){
	equal(hoge, null);
});

実行結果は下のスクリーンショットの様になっていて、各テスト名の前にモジュール名が表示されます。「module B」の中ではsetupとteardownがテスト毎に実行されているのが確認できると思います。

補足的な内容で短いですが、今回はここまでです。

続きの記事を書きました。こちらへどうぞ