JasmineJS - Controllo sequenziale

Jasmine fornisce anche diversi metodi per fornire la sequenzialità dell'output JS. I seguenti esempi mostrano come implementare il controllo sequenziale utilizzando Jasmine.

Contenere()

toContain()i matcher ci forniscono la possibilità di controllare se qualsiasi elemento fa parte dello stesso array o di altri oggetti sequenziali. Il seguente esempio ci aiuterà a comprendere la metodologia di lavoro del metodo Jasmine toContain (). Aggiungiamo il seguente pezzo di codice precedentemente creatocustomerMatcherSpec.js file.

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

Nell'esempio sopra, stiamo controllando se 3 è presente in quell'array o meno. Otteniamo un output verde poiché 3 è presente nell'array.

Nell'esempio sopra, cambiamo il valore di 3 con 15 ed eseguiamo di nuovo la specifica. Otterremo la seguente schermata rossa poiché 15 non appartiene all'array che stiamo passando come parametro di quella funzione.

ToBeCloseTo ()

toBeCloseTo()matcher verifica se il valore effettivo è vicino al valore atteso. Nell'esempio seguente, modificheremo il nostrocustomerMatcherSpec.js file e vedere come funziona effettivamente.

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

Nel blocco Describe sopra, stiamo verificando se il risultato effettivo "12.3" è più vicino all'output previsto "12.34" o meno. Poiché ciò soddisfa i nostri requisiti, avremo il seguente screenshot verde come output. Il secondo parametro di questo metodo è il conteggio della cifra decimale da confrontare.

Nel codice precedente, modifichiamo il valore previsto su 15 ed eseguiamo SpecRunner.html.

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

In questo scenario, 15 non è affatto vicino a 15, quindi genererà un errore e presenterà uno screenshot rosso come errore.

ToMatch ()

ToMatch()matcher funziona sulla variabile di tipo String. È utile scoprire se una stringa specifica è presente nell'output previsto o meno. Di seguito è riportato il nostrocustomerMatcherSpec.js sembra.

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

Questo pezzo di codice verificherà se “com”è presente nella stringa prevista data. Comecom esiste nella stringa, genererà uno screenshot verde e supererà la condizione di test.

Ora cambiamo l'output con un'altra stringa, che non è presente nel valore atteso. Quindi il nostrocustomerMatcherSpec.js sarà simile al seguente.

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

Il codice precedente troverà la stringa "XYZ" nel valore previsto. Poiché non esiste nella stringa prevista, verrà generato un errore e la schermata di output sarà rossa di conseguenza.