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を変数に追加したり、ドキュメントの本体に追加したりします.
二.ソースファイルの作成source.js
1.テストを通過させるソースコードを書く
2.試験の実行
1.googleでJs TestDriverが唯一必要な一つの統合jarパッケージをダウンロードする——Js TestDriver.jar
2.プロファイルjsTestDriver.jstd、YAML形式ファイルを追加するか、またはデフォルトファイルはjsTestDriver.co nfとjarパッケージが同じディレクトリの下にあります.
4.試験の実行
まず、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)