Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ฟังก์ชัน assert.doesNotThrow() ใน Node.js


โมดูลยืนยันมีฟังก์ชันต่างๆ มากมายที่ใช้สำหรับการยืนยันฟังก์ชัน assert.doesNotThrow จะยืนยันว่าฟังก์ชันไม่สามารถส่งข้อผิดพลาดได้ มันจะเรียก 'fn' ทันทีเมื่อมีการเรียก assert .doesNotThrow

ไวยากรณ์

asser.doesNotThrow(fn, [error], [message])

พารามิเตอร์

พารามิเตอร์ข้างต้นอธิบายไว้ด้านล่าง −

  • fn – ฟังก์ชันนี้จะถูกเรียกเมื่อดำเนินการ assert.doesNotThrow มันจะเรียกใช้ฟังก์ชันนี้แทนการโยนข้อผิดพลาด

  • ข้อผิดพลาด – พารามิเตอร์นี้มีนิพจน์ทั่วไปสำหรับข้อผิดพลาดที่ระบุ เป็นพารามิเตอร์ที่ไม่บังคับ

  • ข้อความ – นี่เป็นพารามิเตอร์เสริม นี่คือข้อความที่ผู้ใช้กำหนดเมื่อเรียกใช้ฟังก์ชัน

การติดตั้งโมดูลยืนยัน

ยืนยันการติดตั้ง npm

โมดูลยืนยันเป็นโมดูล inbuilt Node.js ดังนั้นคุณสามารถข้ามขั้นตอนนี้ได้เช่นกัน คุณสามารถตรวจสอบเวอร์ชันยืนยันได้โดยใช้คำสั่งต่อไปนี้เพื่อรับโมดูลการยืนยันล่าสุด

ยืนยันเวอร์ชัน npm

การนำเข้าโมดูลในฟังก์ชันของคุณ

const assert =ต้องการ ("ยืนยัน") .strict;

ตัวอย่าง

สร้างไฟล์ที่มีชื่อ – doesNotThrow.js และคัดลอกข้อมูลโค้ดด้านล่าง หลังจากสร้างไฟล์แล้ว ให้ใช้คำสั่งด้านล่างเพื่อรันโค้ดนี้

โหนด doesnNotThrow.js

ไม่โยน.js

// การนำเข้า moduleconst assert =require('assert').strict;try { // เรียกเมธอด doesNotThrow เพื่อหยุดการโยนข้อผิดพลาด assert.doesNotThrow ( () => { โยน TypeError ใหม่ ('ได้รับค่าที่ไม่ถูกต้อง กรุณา ตรวจสอบ !'); }, );} จับ (ข้อผิดพลาด) { console.log ("ข้อผิดพลาด:ข้อผิดพลาด)}

ผลลัพธ์

C:\home\node>> โหนด doesNotThrow.jsError:{ AssertionError [ERR_ASSERTION]:มีข้อยกเว้นที่ไม่ต้องการ ข้อความจริง:"ได้รับค่าที่ไม่ถูกต้อง โปรดตรวจสอบ !" ที่วัตถุ (/home/node/test/assert.js:6:9) ที่ Module._compile (ภายใน/modules/cjs/loader.js:778:30) ที่ Object.Module._extensions..js (ภายใน/โมดูล/cjs /loader.js:789:10) ที่ Module.load (ภายใน/modules/cjs/loader.js:653:32) ที่ tryModuleLoad (ภายใน/โมดูล/cjs/loader.js:593:12) ที่ Function.Module _load (ภายใน/โมดูล/cjs/loader.js:585:3) ที่ Function.Module.runMain (ภายใน/โมดูล/cjs/loader.js:831:12) เมื่อเริ่มต้น (ภายใน/bootstrap/node.js:283:19) ที่ bootstrapNodeJSCore (ภายใน/bootstrap/node.js:623:3)generatedMessage:false ชื่อ:'AssertionError [ERR_ASSERTION]' รหัส:'ERR_ASSERTION' จริง:TypeError:ได้รับค่าที่ไม่ถูกต้อง โปรดตรวจสอบ ! ที่ assert.doesNotThrow (/home/node/test/assert.js:8:9) ที่ getActual (assert.js:567:5) ที่ Function.doesNotThrow (assert.js:687:32) ที่ Object (/home/node/test/assert.js:6:9) ที่ Module._compile (ภายใน/modules/cjs/loader.js:778:30) ที่ Object.Module._extensions..js(ภายใน/โมดูล/cjs /loader.js:789:10) ที่ Module.load (ภายใน/modules/cjs/loader.js:653:32) ที่ tryModuleLoad (ภายใน/โมดูล/cjs/loader.js:593:12) ที่ Function.Module _load (ภายใน/modules/cjs/loader.js:585:3) ที่ Function.Module.runMain (ภายใน/modules/cjs/loader.js:831:12) คาดไว้:ไม่ได้กำหนด ตัวดำเนินการ:'doesNotThrow' } 

ตัวอย่าง

ลองดูอีกตัวอย่างหนึ่ง

// การนำเข้า moduleconst assert =require('assert').strict;try { assert.doesNotThrow( () => { throw new TypeError('Value pass is wrong !!'); }, /abcd/, 'อ๊ะ' );} จับ (ข้อผิดพลาด) { console.log ("ข้อผิดพลาด:" ข้อผิดพลาด)}

ผลลัพธ์

C:\home\node>> โหนด doesNotThrow.jsError:TypeError:ค่าที่ส่งไปไม่ถูกต้อง !! ที่ assert.doesNotThrow (/home/node/test/assert.js:7:9) ที่ getActual (assert.js:567:5) ที่ Function.doesNotThrow (assert.js:687:32) ที่ Object (/home/node/test/assert.js:5:9) ที่ Module._compile (ภายใน/modules/cjs/loader.js:778:30) ที่ Object.Module._extensions..js (ภายใน/โมดูล/cjs /loader.js:789:10) ที่ Module.load (ภายใน/modules/cjs/loader.js:653:32) ที่ tryModuleLoad (ภายใน/โมดูล/cjs/loader.js:593:12) ที่ Function.Module _load (ภายใน/modules/cjs/loader.js:585:3) ที่ Function.Module.runMain (ภายใน/modules/cjs/loader.js:831:12)