JasmineJS - Null Check

Jasmine fornisce una diversa varietà di metodi per verificare se l'output effettivo è Null, definito o indefinito. In questo capitolo impareremo come implementare diversi metodi Jasmine per controllare gli scenari sopra menzionati.

Da definire()

Questo matcher viene utilizzato per verificare se qualsiasi variabile nel codice è predefinita o meno. Modifichiamo il nostrocustomerMatcherSpec.js file secondo questo esempio.

currentVal = 0;  

describe("Different Methods  of Expect Block",function () { 
   it("Example of  toBeDefined", function () {
      expect(currentVal).toBeDefined();
   });
});

Nel codice sopra, toBeDefined () controllerà se la variabile currentVal è definito nel sistema o meno. Poiché currentVal è definito su 0 all'inizio, questo test passerà e genererà uno screenshot verde come output.

Di nuovo nell'esempio precedente, rimuoviamo la prima riga, dove in realtà definiamo "currentVal" ed eseguiamo di nuovo. Quindi avremo una schermata rossa, il che significa che il test fallisce effettivamente perché ci aspettiamo che venga definito un valore indefinito. Lo screenshot seguente sarà il file di output.

ToBeUndefined ()

Questo abbinatore aiuta a verificare se una qualsiasi variabile è precedentemente indefinita o meno, in pratica funziona semplicemente all'opposto del precedente abbinamento che è toBeDefined. Nell'esempio seguente, impareremo come utilizzare questo matcher. Modifichiamo il nostro file Spec, iecustomerMatcher.js file con la seguente voce.

describe("Different Methods of Expect Block",function () { 
   it("Example of toBeUndefine()", function () { 
      var undefineValue; 
      expect(undefineValue).toBeUndefined(); 
   });
});

Nella sezione precedente, verificheremo se la nostra variabile “undefineValue”è effettivamente indefinito o no. Dopo aver aggiunto questo file in SpecRunner, riceveremo uno screenshot di colore verde come output, che ci dice che questo valore non è effettivamente definito in precedenza.

Ancora una volta definiamo la variabile con un valore predefinito e vediamo se genererà un errore o meno. Il nuovocustomerMatcher.js assomiglia al seguente.

describe("Different Methods of Expect Block",function () {
   it("Example oftoBeUndefine()", function () { 
      var undefineValue = 0;
      expect(undefineValue).toBeUndefined();
   });
});

La parte di codice precedente genererà un errore e genererà uno screenshot di colore rosso perché abbiamo già definito il file “undefineValue” valore a “0”e aspettandosi che non sia definito. Lo screenshot seguente verrà generato durante l'esecuzioneSpecRunner.html file.

toBeNull ()

Poiché il nome indica questo matcher aiuta a controllare i valori nulli. Modifichiamo ancora una volta il nostrocustomerMatcherSpec.js file con la seguente parte di codice.

describe("Different Methods of Expect Block",function () { 
   var value = null; 
	
   it("Example of toBeNull()", function () { 
      expect(value).toBeNull();
   });
});

Nel codice precedente abbiamo menzionato una variabile ”value”e abbiamo menzionato esplicitamente questo valore come null. Nel blocco delle aspettative, il matcher toBeNull () controllerà questo valore e ci darà il risultato di conseguenza. Di seguito è riportato l'output del codice sopra menzionato quando viene eseguito tramite l'aiuto del file SpecRunner.html.

Ora proviamo fornendo un valore definito diverso da null. Si prega di modificare il filecustomerMatcher.js file di conseguenza.

describe("Different Methods of Expect Block",function () {
   var value = "TutorialsPoint"; 
	
   it("Example of  toBeNull()", function () { 
      expect(value).toBeNull();
   });
});

Nell'esempio sopra, abbiamo modificato il valore della variabile con "TutorialsPoint" che non è un valore nullo. Quindi, questo test fallirà e produrrà uno screenshot rosso come output.