JasmineJS - การตรวจสอบ Null

จัสมินมีวิธีการที่แตกต่างกันเพื่อตรวจสอบว่าผลลัพธ์จริงเป็น Null กำหนดไว้หรือไม่ได้กำหนด ในบทนี้เราจะเรียนรู้วิธีการใช้วิธีต่างๆของจัสมินเพื่อตรวจสอบสถานการณ์ที่กล่าวถึงข้างต้น

ToBedefined ()

ตัวจับคู่นี้ใช้เพื่อตรวจสอบว่าตัวแปรใด ๆ ในโค้ดถูกกำหนดไว้ล่วงหน้าหรือไม่ ให้เราแก้ไขไฟล์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 ()

ตัวจับคู่นี้ช่วยในการตรวจสอบว่าตัวแปรใด ๆ ที่ไม่ได้กำหนดไว้ก่อนหน้านี้หรือไม่โดยทั่วไปมันทำงานตรงข้ามกับตัวจับคู่ก่อนหน้านี้ที่เป็น BeDefined ในตัวอย่างต่อไปนี้เราจะเรียนรู้วิธีใช้ตัวจับคู่นี้ ให้เราแก้ไขไฟล์ 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 ()

เนื่องจากชื่อหมายถึงตัวจับคู่นี้ช่วยในการตรวจสอบค่า null ให้เราแก้ไขไฟล์customerMatcherSpec.js ไฟล์ที่มีรหัสต่อไปนี้

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

ในโค้ดข้างต้นเราได้กล่าวถึงตัวแปรหนึ่งตัว ”value”และเราได้กล่าวถึงค่านี้อย่างชัดเจนว่าเป็นโมฆะ ในบล็อกที่คาดหวังตัวจับคู่ toBeNull () จะตรวจสอบค่านี้และให้ผลลัพธ์ตามนั้น ต่อไปนี้เป็นผลลัพธ์ของโค้ดที่กล่าวถึงข้างต้นเมื่อรันผ่านความช่วยเหลือของไฟล์ SpecRunner.html

ตอนนี้ให้เราทดสอบโดยระบุค่าที่กำหนดไว้นอกเหนือจาก null โปรดแก้ไขไฟล์customerMatcher.js ไฟล์ตามนั้น

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

ในตัวอย่างข้างต้นเราได้แก้ไขค่าตัวแปรด้วย“ TutorialsPoint” ซึ่งไม่ใช่ค่า null ดังนั้นการทดสอบนี้จะล้มเหลวและสร้างภาพหน้าจอสีแดงเป็นผลลัพธ์