最近JUnitがjavascriptをテストするのがとても良いことを発見しました.
4120 ワード
JsunitはJunnitのjavascriptバージョンです.Jsunit zipをダウンロードして解凍します.ほとんどのコアファイルはjsunit/apディレクトリの下にあります.
二つの最も基本的なファイル:
js UnityCore.js—各テストファイルはそれを参照してください.
.testRunner.—具体的なjsunitテストを実行するために使用します.
(1)初歩例:
Jsunit解凍後の同級ディレクトリの下に二つのファイルを作成し、ディレクトリ構造:
_–jsunit
|–test.
書き終わったらjsunit/testRunnerを実行して、ページの中でtest.を選択して、runをクリックして、テスト結果の情報を見ることができます.
//test.テストファイル
ソースコードの印刷ヘルプを表示します.
(2)setUpPage()
jsunitは、一度の起動方法を含み、setUpPage()は各テストページに一回だけ呼び出します.つまり、すべてのテスト関数が呼び出される前に呼び出します.前処理に適していますが、setUpPage()の最後の行でsetUpPageStatus変数を「compplete」に設定します.
テストセットは異なるテストページをグループ化します.テストページまたは他のテストセットが含まれています.彼らは順番に実行します.
注意点:
テストセットにはテスト関数が含まれていません.
js Uniit Test Suiteオブジェクトに戻るsuite関数を含む必要があります.
2つの方法でテストページを追加します.addTestPage addTestSuite(testSuite)は、テストページを追加する時にパスに注意して、testRunner.に対するものです.
例:
ソースコードの印刷ヘルプを表示します.
testRunnerを実行する時、彼がTrace level項目を持っていることが分かります.実際にテスト方法におけるログ情報には、3つの関数が含まれています.
warn(message、[value])
inform(message、[value])
debug(message,[value])
Jsユニットのダウンロード先:http://sourceforge.net/projects/jsunit/
二つの最も基本的なファイル:
js UnityCore.js—各テストファイルはそれを参照してください.
.testRunner.—具体的なjsunitテストを実行するために使用します.
(1)初歩例:
Jsunit解凍後の同級ディレクトリの下に二つのファイルを作成し、ディレクトリ構造:
_–jsunit
|–test.
書き終わったらjsunit/testRunnerを実行して、ページの中でtest.を選択して、runをクリックして、テスト結果の情報を見ることができます.
//test.テストファイル
ソースコードの印刷ヘルプを表示します.
01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
02 <HTML>
03 <HEAD>
04 <TITLE> New Document </TITLE>
05 <script language="JavaScript"
06 src="app/jsUnitCore.js"></script>
07 <script language="JavaScript">
08 function addTwoNumbers(value1, value2){
09 return parseInt(value1) + parseInt(value2);
10 }
11 function testValidArgs()
12 {
13 assertEquals("2 + 2 is 4",
14 4, addTwoNumbers(2, 2));
15 }
16 function testWithNegativeNumbers()
17 {
18 assertEquals("-2 + -2 is -4",
19 -4, addTwoNumbers(-2, -2));
20 }
21 function exposeTestFunctionNames()
22 {
23 var tests = new Array(2);
24 tests[0] = "testValidArgs";
25 tests[1] = "testWithNegativeNumbers";
26 return tests;
27 }
28 </script>
29 </HEAD>
30
31 <BODY>
32 test page for addTwoNumbers(value1, value2);
33 </BODY>
34 </HTML>
通常「test」で始まるテスト関数は自動的に発見されますが、もし発見されなかったら、指定されたテスト関数をexposeTest Function Names関数で表示する必要があります.(2)setUpPage()
jsunitは、一度の起動方法を含み、setUpPage()は各テストページに一回だけ呼び出します.つまり、すべてのテスト関数が呼び出される前に呼び出します.前処理に適していますが、setUpPage()の最後の行でsetUpPageStatus変数を「compplete」に設定します.
var arg1;
var arg2;
function setUpPage(){
arg1 = 2;
arg2 = 2;
setUpPageStatus = “complete”;
}
(3)テストセットテストセットは異なるテストページをグループ化します.テストページまたは他のテストセットが含まれています.彼らは順番に実行します.
注意点:
テストセットにはテスト関数が含まれていません.
js Uniit Test Suiteオブジェクトに戻るsuite関数を含む必要があります.
2つの方法でテストページを追加します.addTestPage addTestSuite(testSuite)は、テストページを追加する時にパスに注意して、testRunner.に対するものです.
例:
ソースコードの印刷ヘルプを表示します.
01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
02 <HTML>
03 <HEAD>
04 <TITLE> New Document </TITLE>
05 <script language="JavaScript"
06 src="app/jsUnitCore.js"></script>
07 <script language="JavaScript">
08 function sampleSuite()
09 {
10 var sampleSuite = new top.jsUnitTestSuite();
11 sampleSuite.addTestPage("../test.html");
12 return sampleSuite;
13 }
14 function suite()
15 {
16 var testSuite = new top.jsUnitTestSuite();
17 testSuite.addTestSuite(sampleSuite());
18 testSuite.addTestPage("../test.html");
19 return testSuite;
20 }
21 </script>
22 </HEAD>
23
24 <BODY>
25 </BODY>
26 </HTML>
(4)ログとトレースtestRunnerを実行する時、彼がTrace level項目を持っていることが分かります.実際にテスト方法におけるログ情報には、3つの関数が含まれています.
warn(message、[value])
inform(message、[value])
debug(message,[value])
Jsユニットのダウンロード先:http://sourceforge.net/projects/jsunit/