最近JUnitがjavascriptをテストするのがとても良いことを発見しました.


JsunitはJunnitのjavascriptバージョンです.Jsunit zipをダウンロードして解凍します.ほとんどのコアファイルはjsunit/apディレクトリの下にあります.
二つの最も基本的なファイル:
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/