JasmineJS - Verificación secuencial
Jasmine también proporciona diferentes métodos para proporcionar secuencialidad de la salida JS. Los siguientes ejemplos muestran cómo implementar la verificación secuencial con Jasmine.
Contener()
toContain()Los comparadores nos brindan la posibilidad de verificar si algún elemento es parte de la misma matriz o algún otro objeto secuencial. El siguiente ejemplo nos ayudará a comprender la metodología de trabajo del método Jasmine toContain (). Agreguemos el siguiente fragmento de código en el creado previamentecustomerMatcherSpec.js archivo.
describe("Different Methods of Expect Block",function () {
it("The Example of toContain() method",function () {
expect([1,2, 3, 4]).toContain(3);
});
});
En el ejemplo anterior, estamos verificando si 3 está presente en esa matriz o no. Obtenemos una salida verde ya que 3 está presente en la matriz.
En el ejemplo anterior, cambiemos el valor de 3 por 15 y ejecutemos la especificación nuevamente. Obtendremos la siguiente pantalla roja ya que 15 no pertenece a esa matriz que estamos pasando como parámetro de esa función.
Estar cerca de()
toBeCloseTo()matcher coincide con si el valor real está cerca del valor esperado. En el siguiente ejemplo, modificaremos nuestrocustomerMatcherSpec.js archivo y vea cómo funciona realmente.
describe("Different Methods of Expect Block", function () {
it("Example of toBeCloseTo()", function () {
expect(12.34).toBeCloseTo(12.3, 1);
});
});
En el bloque Describe anterior, estamos verificando si el resultado real "12.3" está más cerca de la salida esperada "12.34" o no. Como esto satisface nuestro requisito, tendremos la siguiente captura de pantalla verde como salida. El segundo parámetro de este método es el recuento del lugar decimal con el que se va a comparar.
En el código anterior, modifiquemos el valor esperado a 15 y ejecutemos SpecRunner.html.
describe("Different Methods of Expect Block",function () {
it("Example of toBeCloseTo()", function () {
expect(12.34).toBeCloseTo(15, 1);
});
});
En este escenario, 15 no se acerca a 15, por lo que generará un error y presentará una captura de pantalla roja como un error.
ToMatch ()
ToMatch()matcher funciona en la variable de tipo String. Es útil saber si una cadena específica está presente en la salida esperada o no. Lo siguiente es lo que nuestrocustomerMatcherSpec.js parece.
describe("Different Methods of Expect Block",function () {
it("Example of toMatch()", function () {
expect("Jasmine tutorial in tutorials.com").toMatch(/com/);
});
});
Este fragmento de código probará si “com”está presente en la cadena esperada dada. Comocom existe en la cadena, generará una captura de pantalla verde y pasará la condición de prueba.
Ahora cambiemos la salida a otra cadena, que no está presente en el valor esperado. Entonces nuestrocustomerMatcherSpec.js tendrá el siguiente aspecto.
describe("Different Methods of Expect Block",function () {
it("Example of toMatch()", function () {
expect("Jasmine tutorial in tutorials.com").toMatch(/XYZ/);
});
});
El código anterior encontrará la cadena "XYZ" en el valor esperado. Como no existe en la cadena esperada, arrojará un error y la pantalla de salida será roja en consecuencia.