JasmineJS-シーケンシャルチェック

Jasmineは、JS出力のシーケンシャルを提供するためのさまざまなメソッドも提供します。次の例は、Jasmineを使用してシーケンシャルチェックを実装する方法を示しています。

含有すること()

toContain()マッチャーは、要素が同じ配列または他のシーケンシャルオブジェクトの一部であるかどうかを確認する機能を提供します。次の例は、Jasmine toContain()メソッドの作業方法を理解するのに役立ちます。以前に作成したコードに次のコードを追加しましょうcustomerMatcherSpec.js ファイル。

describe("Different Methods of Expect Block",function () {  
   it("The  Example of toContain() method",function () { 
      expect([1,2, 3, 4]).toContain(3);
   });
});

上記の例では、その配列に3が存在するかどうかを確認しています。配列に3が存在するため、緑色の出力が得られます。

上記の例では、値3を15に変更して、仕様を再実行してみましょう。15はその関数のパラメーターとして渡した配列に属していないため、次の赤い画面が表示されます。

ToBeCloseTo()

toBeCloseTo()マッチャーは、実際の値が期待値に近いかどうかを照合します。次の例では、customerMatcherSpec.js ファイルを作成して、これが実際にどのように機能するかを確認してください。

describe("Different Methods of Expect Block", function () {  
   it("Example of toBeCloseTo()", function () { 
      expect(12.34).toBeCloseTo(12.3, 1);    
   });
});

上記のDescribeブロックでは、実際の結果「12.3」が期待される出力「12.34」に近いかどうかを確認しています。これは要件を満たしているため、出力として次の緑色のスクリーンショットが表示されます。このメソッドの2番目のパラメーターは、比較する小数点以下の桁数です。

上記のコードで、期待値を15に変更して実行しましょう SpecRunner.html

describe("Different Methods of Expect Block",function () { 
   it("Example of  toBeCloseTo()", function () { 
      expect(12.34).toBeCloseTo(15, 1);
   });
});

このシナリオでは、15は15に近くないため、エラーが生成され、赤いスクリーンショットがエラーとして表示されます。

合わせる()

ToMatch()マッチャーは文字列型変数で機能します。特定の文字列が期待される出力に存在するかどうかを確認すると便利です。以下は私たちのcustomerMatcherSpec.js のように見えます。

describe("Different Methods of Expect Block",function () { 
   it("Example of toMatch()", function () { 
      expect("Jasmine tutorial in tutorials.com").toMatch(/com/);   
   });
});

このコードは、 “com”指定された期待される文字列に存在します。なのでcom 文字列に存在する場合、緑色のスクリーンショットが生成され、テスト条件に合格します。

次に、出力を、期待値に存在しない他の文字列に変更しましょう。次に、customerMatcherSpec.js 次のようになります。

describe("Different Methods  of Expect Block",function () { 
   it("Example of toMatch()", function () { 
      expect("Jasmine tutorial in tutorials.com").toMatch(/XYZ/);
   });
});

上記のコードは、期待値に「XYZ」文字列を見つけます。予期された文字列に存在しないため、エラーがスローされ、それに応じて出力画面が赤になります。