Javascriptを遊んでJSにテストを書きます.

4638 ワード

jsにテストを書くのはもう珍しいことではないです.最近のプロジェクトではjasmineとJs TestDriverの二つのjsテストフレームを使いました.Js TestDriverは持続的な構築システムと統合しやすく、複数のブラウザでテストを実行することで簡単にTDDスタイルの開発が可能です.プロジェクトにJs TestDriverを配置すると、junnitテストjavaファイルのようにJs TestDriverは直接にjsファイルを実行してユニットテストを行うことができます.Js TestDriverフレーム自体がJAVAのjarパッケージであり、ポートをローカルで実行して傍受する必要があります.Js TestDriverはxUnitテストフレーム領域の比較的新しいメンバーで、それは最初にGoogleから始まります.本論文では、Js TestDriverテストフレームの構築方法を紹介します.
  まず、Js TestDriverの特徴を簡単に紹介します.
利点:
1.複数のブラウザを一度にテストしてもいいです.使用方法はサービスを開始する時に複数のブラウザのパスをパラメータとして送ることができます.
2.テストが速く実行されています.結果をDOMに追加する必要がないので、複数のブラウザで同時に実行できます.未修正のファイルブラウザはキャッシュから抽出されます.
3.HTMLアクセサリファイルは必要ありません.1つ以上のスクリプトとテストスクリプトを提供するだけで、テスト運転時に空のファイルが作成されます.
4.他のテストフレームをサポートします.対応するプラグインがあれば、QUnitとJasmineテストコードをJsTestDriverのテストコードに変換できます.
短所:
ブラウザでテストすることはできません.自動化ツールやコンソールでしか実行できません.生成された結果は直観的ではない.インストールはちょっと面倒です.JAVA環境に依存しています.
 
ステップの構築:
一.試験test.jsの作成
1.テストjsファイルにTestCaseを書いてテスト対象を宣言する
2.setUpを書き込み、測定対象を初期化する
3.テスト関数を作成し、jsテストドライバは声明を提供しています.テストを読みやすくし、メンテナンス方法をテストにHTMLを追加します.有効なHTMLをdoc注釈とjsテストドライバで対応するDOMを変数に追加したり、ドキュメントの本体に追加したりします.
 
HtmlDeclaredInTest = TestCase("HtmlDeclaredInTest");

 

HtmlDeclaredInTest.prototype.setUp = function() {

  //test utils object contains convenience functions

  this.testUtils = new myapp.Greeter();

};

 

HtmlDeclaredInTest.prototype.testVariableHtml = function() {

 /*:DOC mainDiv = <div id='main'>

                    <div class='text'>Hello word.</div>

                  </div> */

  var child = this.testUtils.findFirstDiv(this.mainDiv);

 

  assertEquals("text", child.className);

  assertEquals("Hello word.", child.innerHTML);

};
 
二.ソースファイルの作成source.js
1.テストを通過させるソースコードを書く
2.試験の実行
myapp = {};



myapp.Greeter = function() { };



myapp.Greeter.prototype.findFirstDiv = function(element) {

  var result, child ;

   

  for ( i = 0; i < element.childNodes.length; i++) {

    child = element.childNodes[i];

    if (child.nodeType == 1 && child.tagName=='DIV')

      result = child;

  }

   

  return result;

};
三.運行環境を構築する
1.googleでJs TestDriverが唯一必要な一つの統合jarパッケージをダウンロードする——Js TestDriver.jar
 
2.プロファイルjsTestDriver.jstd、YAML形式ファイルを追加するか、またはデフォルトファイルはjsTestDriver.co nfとjarパッケージが同じディレクトリの下にあります.
server: http://localhost:9876



load:

  - src/*.js

  - src-test/*.js
3.サーバを起動する
Java -jar JsTestDriver-1.3.5.jar --port 9876 --browser **/**/firefox.exe
アクセス http://localhost:9876/capture
4.試験の実行
java -jar JsTestDriver-1.3.5.jar  --tests all --config **/**/jsTestDriver.jstd
5.結果
Total 2 tests (Passed: 2; Fails: 0; Errors: 0) (0.00 ms)

  Safari 528.16: Run 1 tests (Passed: 1; Fails: 0; Errors 0) (0.00 ms)

  Firefox 1.9.0.10: Run 1 tests (Passed: 1; Fails: 0; Errors 0) (0.00 ms)