Jasminejs-equality-check
JasmineJS-平等チェック
Jasmineは、JavaScript関数とJavaScriptファイルの同等性をチェックするのに役立つ多くのメソッドを提供します。 以下は、等価条件を確認するためのいくつかの例です。
ToEqual()
- ToEqual()*は、ジャスミンの組み込みライブラリに存在する最も単純なマッチャーです。 このメソッドの引数として指定された操作の結果が、その結果と一致するかどうかだけに一致します。
次の例は、このマッチャーがどのように機能するかを理解するのに役立ちます。 “ expectexam.js” *という名前のテスト対象ファイルが2つあり、テストする必要があるもう1つのファイルは“ expectSpec.js” *です。
Expectexam.js
ExpectSpec.js
正常に実行されると、これらのコードは次の出力を生成します。 前の例で説明したように、これらのファイルを specRunnerl ファイルのヘッダーセクションに追加する必要があることに注意してください。
not.toEqual()
- not.toEqual()*は、toEqual()とまったく反対に機能します。 * not.toEqual()*は、値が関数の出力と一致しないかどうかを確認する必要がある場合に使用されます。
上記の例を変更して、これがどのように機能するかを示します。
ExpectSpec.js
Expectexam.js
2番目のexpectブロックでは、currentValの値がゼロであるため、 currentVal の値が5に等しいかどうかを確認しています。したがって、テストに合格し、緑色の出力が提供されます。
することが()
- toBe()マッチャーはtoEqual()と同様に機能しますが、技術的には互いに異なります。 toBe()マッチャーはオブジェクトのタイプと一致しますが、 toEqual()*は結果の同値と一致します。
次の例は、toBe()マッチャーの動作原理を理解するのに役立ちます。 このマッチャーはJavaScriptの「===」演算子とまったく同じですが、toEqual()はJavaScriptの「==」演算子に似ています。
ExpectSpec.js
Expectexam.js
次のスクリーンショットは、赤い十字がこれらの2つの値が等しくないことを示していますが、等しいと予想されるテスト結果です。 したがって、テストは失敗します。
not.toBe()
前に見たように、toBe()メソッドの否定に他なりません。 期待される結果が関数またはJavaScriptファイルの実際の出力と一致すると失敗します。
以下は、not.toBe()マッチャーの動作を理解するのに役立つ簡単な例です。
ここで、ジャスミンはtrueとfalseを一致させようとします。 trueとfalseを同じにすることはできないため、このテストケースは有効であり、パススルーされます。