JasmineJS-BDDアーキテクチャ

Jasmineは、Behavioral Driven Development(BDD)フレームワークに従います。Jasmineの動作原理を学ぶ前に、BDDフレームワークとは何かを教えてください。

次のフローチャートは、BDDフレームワークのさまざまなフェーズを示しています。

Step 1 − Start

このフェーズでは、環境をJasmineアプリケーションに対応できるようにします。

Step 2 − Write a failing test

このステップでは、初めてのテストケースを作成します。テストするファイルや関数がないため、このテストが失敗することは明らかです。

Step 3 − Write a code to make it pass

このフェーズでは、テストが必要なJavaScriptファイルまたは関数を準備します。初期段階で準備したすべてのテストケースが成功することを確認する必要があるため、このフェーズは非常に重要です。

Step 4 − Refactor

リファクタリングはBDDモデルの非常に重要なフェーズであり、特定のアプリケーションまたは機能のためにできるだけ多くのテストケースを準備する必要があります。

Step 5 − Stop

すべてが順調に進んでいる場合は、アプリケーションの準備が整っている必要があります。したがって、このステップはBDDアプリケーションの終了と見なすことができます。

これで、BDDフレームワークの動作原理に関する知識を収集しました。JavaScriptテストのラインでJasmineがこのBDDフレームワークにどのように従うかを見てみましょう。

スクリーンショットが示すように、Jasmineフレームワークを使用してAbc.jsをテストする必要があります。 SpecRunner.html 取る出力ファイルです Spec.js(Test case file ), Abc.js(file to be tested)、LIBを入力として使用し、スペックファイルに存在するすべてのテストケースを実行して、結果をブラウザーにレンダリングします。

Lib −これらは、プロジェクトで使用されるさまざまな関数やその他のJavaScriptファイルをテストするのに役立つ組み込みのJavaScriptファイルです。

Spec.js(Test case file)−これは、JavaScript関数またはファイルをテストするために必要なすべてのテストケースを含むJavaScriptファイルです。BDD方法論では、最初にテストを作成するため、これが最初に更新する必要のあるファイルです。テストできるファイルや関数がプロジェクトに存在しないため、これは間違いなく失敗します。このファイルは、すべての機能がテストされるまで、無制限にリファクタリングできます。

Abc.js(File to be tested) −これは、Spec.jsおよびLibファイルを使用して単体テストされる機能を含むファイルです。

SpecRunner.html − SpecRunner.htmlは、埋め込まれたJavaScriptコードを使用して単体テストの出力をレンダリングする通常のhtmlファイルです。