ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptのテスト

JavaScriptのテスト

高洛峰
高洛峰オリジナル
2016-11-25 13:28:311252ブラウズ

JavaScript をリファクタリングする際には、リファクタリングがスムーズに進むよう、使いやすいテスト フレームワークを導入して、今後もテスト コードを通じて JavaScript ロジックの正しさを確認していきたいと考えています。
JsUnit (http://sourceforge.net/projects/jsunit/、http://www.jsunit.net/)
JsUnit は、JUnit に似た独立した JavaScript 単体テスト フレームワークであり、従来のテストを含めて簡単に始めることができます。 setUp 提供されるassert メソッドは、tearDown と同様に JUnit に似ていますが、assertNaN やassertUndefine などの JavaScript 固有のメソッドが追加されています。テスト ページでは、 に js ファイル jsUnitCore.js を導入する必要があります。
テスト スイートのサポート: addTestPage と addTestSuite が提供されます。
テスト ログのサポート: 警告、情報、デバッグの 3 つのログ レベルが含まれます。しかもログは次回のみ対応。
1,000 語では不十分ですが、一例を示します。
Js コード

//モジュール JS

function testWithMainProcess() {
assertEquals("Web 再生 URL", "##http://...##", webOnlinePlay());
}

プロジェクトコードの随所に Ajax 呼び出しがあり、単体テストを行うには、パイルが避けられないようです。 JQuery に適した QMock など、多くのモック ツールがあります。 http://xxx,
success: Function,
dataType: "jsonp"
})
.callFunctionWith({ feed : {entry : "data response" }});

この山は、ジェイソンが返す偽の ajax モックです: [feed:[entry:"data response"]] を見てください。使い方は、私が以前に体験した EasyMock とほぼ同じです。

JavaScript テスト フレームワークに興味がある学生は、JSpec などの他のテスト フレームワークについても学ぶことができます。

単体テスト コードをモジュールのパッケージ test.html に配置することをお勧めします。理想的な条件下でも、モジュールが個別にリリースされる場合、テスト ケースの信頼できるフロントエンド コードが付属します。
どの JavaScript コードから始めればよいですか?
1. 機能コード。このようなコードは良好な独立性を保証し、ステーキングを必要とせず、テストコストが低くなります。関数型コードの意味がわからない場合は、「関数型プログラミング」を参照してください。
2. 複雑なロジック。
TDD を試してみませんか?フロントエンド TDD は、より高度なスキルと人的要素に関する要件を必要とするため、チーム内で使用することはお勧めできません。いつかバックグラウンドの Java コードの TDD が完成したら、それを JavaScript コードに置き換えても本質的な違いはありません。

その効果が適切であれば、なぜ JavaScript UT を継続的インテグレーションの一部として ICP-CI に統合できないのでしょうか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。