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 ดังนั้นการทดสอบนี้จะล้มเหลวและสร้างภาพหน้าจอสีแดงเป็นผลลัพธ์