JasmineJS - проверка нуля

Jasmine предоставляет различные методы проверки того, является ли фактический вывод нулевым, определенным или неопределенным. В этой главе мы узнаем, как реализовать различные методы Jasmine для проверки вышеупомянутых сценариев.

Быть определенным()

Этот сопоставитель используется для проверки того, предопределена ли какая-либо переменная в коде или нет. Давайте изменим нашcustomerMatcherSpec.js файл в соответствии с этим примером.

currentVal = 0;  

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

В приведенном выше коде toBeDefined () проверяет, currentVal определяется в системе или нет. Поскольку currentVal изначально задан равным 0, этот тест пройдет успешно и на выходе будет создан зеленый снимок экрана.

Снова в приведенном выше примере давайте удалим первую строку, в которой мы фактически определяем «currentVal», и запустим снова. Затем мы получим красный экран, что означает, что тест фактически не прошел, потому что мы ожидаем, что будет определено неопределенное значение. Следующий снимок экрана будет выходным файлом.

ToBeUndefined ()

Этот сопоставитель помогает проверить, была ли какая-либо переменная ранее неопределенной или нет, в основном он работает прямо противоположно предыдущему сопоставлению, то есть toBeDefined. В следующем примере мы узнаем, как использовать этот сопоставитель. Давайте изменим наш файл Spec, т.е.customerMatcher.js файл со следующей записью.

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

В приведенном выше разделе мы проверим, “undefineValue”на самом деле не определено или нет. После добавления этого файла в SpecRunner мы получим снимок экрана зеленого цвета в качестве вывода, который сообщает нам, что это значение фактически не было определено ранее.

Опять же, давайте определим переменную с некоторым предопределенным значением и посмотрим, выдаст ли она ошибку или нет. НовыйcustomerMatcher.js выглядит следующим образом.

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

Приведенный выше фрагмент кода выдаст ошибку и сгенерирует снимок экрана красного цвета, потому что мы уже определили “undefineValue” ценность для “0”и ожидая, что это не будет определено. Следующий снимок экрана будет создан при запускеSpecRunner.html файл.

toBeNull ()

Как следует из названия, этот сопоставитель помогает проверять нулевые значения. Давайте снова изменим нашcustomerMatcherSpec.js файл со следующим фрагментом кода.

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

В приведенном выше коде мы упомянули одну переменную ”value”и мы явно упомянули это значение как null. В ожидаемом блоке сопоставитель toBeNull () проверит это значение и выдаст нам соответствующий результат. Ниже приведен вывод вышеупомянутого кода при его запуске с помощью файла SpecRunner.html.

Теперь давайте протестируем, предоставив какое-то определенное значение, отличное от нуля. Пожалуйста, изменитеcustomerMatcher.js файл соответственно.

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

В приведенном выше примере мы изменили значение переменной на «TutorialsPoint», которое не является нулевым значением. Следовательно, этот тест завершится неудачно и на выходе будет красный снимок экрана.