<更新記録>
2008年 6月 5日
執筆

姉妹サイトから検索 Web検索

SWT - JavaでGUIプログラミング
きままにインデックス
PHPノート
ゴルフ道具研究所


前準備と後処理

xUnitには、setUp()関数とtearDown()関数が用意されています。
setUp()関数とtearDown()関数は、それぞれテストケース毎に呼び出され、 setUp()関数はテストケースが実行される前に、tearDown()関数はテストケースが実行された後に呼び出されます。

また、テストケース毎ではなくて、すべてのテストケースが実行される前に1度だけ呼び出されるsetUpPage()関数と、 すべてのテストケースが実行された後に1度だけ実行されるtearDown()関数も用意されています。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="application/xml; charset=UTF-8"/>
<meta http-equiv="Content-Script-Type" content="text/javascript"/>
<title>setUpTearDown.html</title>
<script type="text/javascript" src="./jsunit/app/jsUnitCore.js"></script>
<script type="text/javascript">
//<![CDATA[

	function setUpPage() {
		info('setUpPage()');
		setUpPageStatus = "complete";
	}
	
	function setUp() {
		info('setUp()');
	}

	function test1() {
		info('test1()');
	}
	
	function test2() {
		info('test2()');
	}

	function tearDown() {
		info('tearDown()');
	}
	
	function tearDownPage() {
		info('tearDownPage()');
	}

//]]>
</script>
</head>
<body>
</body>
</html>

ログを見ると分かるとおり、

setUpPage()
↓
setUp()
↓
test2()
↓
tearDown()
↓
setUp()
↓
test1()
↓
tearDown()
↓
tearDownPage()

の順で関数が呼ばれているのが分かります。

注意しなければならないのは、setUpPage()関数は、 非同期通信等でテスト前の準備をすることも考慮されています。
そのため、setUpPage()関数が終了したとしても、非同期の処理が終わるまで待つことが必要になることがあります。

そのため、setUpPage()関数の中では、setUpPageStatus変数に"complete"という文字列が代入されるまでは、 次のsetUp()関数やテストケースは呼ばれないようになっています。
これは忘れることが多いので注意しましょう。


Powered by VeryEasyCMS