โมดูลยืนยันมีฟังก์ชันต่างๆ มากมายที่ใช้สำหรับการยืนยันฟังก์ชัน Assert.notDeepEqual() จะตรวจสอบความไม่เท่าเทียมกันระหว่างพารามิเตอร์ที่เกิดขึ้นจริงและที่คาดหวัง นอกจากนี้พารามิเตอร์ไม่ควรเท่ากันอย่างลึกซึ้ง ข้อผิดพลาดจะเกิดขึ้นหากไม่เป็นไปตามเงื่อนไข
ไวยากรณ์
assert.notDeepEqual(actual, expected[, message])
พารามิเตอร์
พารามิเตอร์ข้างต้นอธิบายไว้ด้านล่าง −
-
ของจริง – พารามิเตอร์นี้จะเก็บค่าจริงที่ต้องการเปรียบเทียบ
-
คาดว่า – จะเก็บค่าพารามิเตอร์ที่คาดไว้ซึ่งจำเป็นต้องตรวจสอบด้วย
-
ข้อความ – นี่เป็นพารามิเตอร์เสริม นี่คือข้อความที่ผู้ใช้กำหนดซึ่งพิมพ์ออกมาเมื่อมีการเรียกใช้ฟังก์ชันและเกิดข้อผิดพลาดใดๆ ขึ้น
การติดตั้งโมดูลยืนยัน
npm install assert
โมดูลยืนยันเป็นโมดูล inbuilt Node.js ดังนั้นคุณสามารถข้ามขั้นตอนนี้ได้เช่นกัน คุณสามารถตรวจสอบเวอร์ชันยืนยันได้โดยใช้คำสั่งต่อไปนี้เพื่อรับโมดูลการยืนยันล่าสุด
npm version assert
การนำเข้าโมดูลในฟังก์ชันของคุณ
const assert = require("assert").strict;
ตัวอย่าง
สร้างไฟล์ที่มีชื่อ – assertNotDeepEqual.js และคัดลอกข้อมูลโค้ดด้านล่าง หลังจากสร้างไฟล์แล้ว ให้ใช้คำสั่งด้านล่างเพื่อเรียกใช้โค้ดนี้
node assertNotDeepEqual.js
ยืนยันNotDeepEqual.js
// Importing the module const assert = require('assert').strict; try { // Both the values should not be identical assert.notDeepEqual({ a: '21' }, { a: '21' }); } catch(error) { console.log("Error: ", error) }
ผลลัพธ์
C:\home\node>> node assertNotDeepEqual.js Error: { AssertionError [ERR_ASSERTION]: Identical input passed to notDeepStrictEqual: { a: '21' } at Object.<anonymous> (/home/mayankaggarwal/mysql-test/assert.js:6:9) at Module._compile (internal/modules/cjs/loader.js:778:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Function.Module.runMain (internal/modules/cjs/loader.js:831:12) at startup (internal/bootstrap/node.js:283:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3) generatedMessage: true, name: 'AssertionError [ERR_ASSERTION]', code: 'ERR_ASSERTION', actual: { a: '21' }, expected: { a: '21' }, operator: 'notDeepStrictEqual' }
ตัวอย่าง
ลองดูอีกตัวอย่างหนึ่ง
// Importing the module const assert = require('assert').strict; try { // Both the values should not be identical assert.notDeepEqual({ a: 21 }, { a: '21' }); console.log("Values are not identical") } catch(error) { console.log("Error: ", error) }
ผลลัพธ์
C:\home\node>> node assertNotDeepEqual.js Values are not identical
จากตัวอย่างข้างต้น เราสามารถเห็นได้ว่าค่าหนึ่งเป็นค่าประเภทสตริง ในขณะที่อีกค่าเป็นค่าประเภทจำนวนเต็มซึ่งเป็นสาเหตุที่ค่าเหล่านี้ไม่เท่ากัน