โมดูลยืนยันมีฟังก์ชันต่างๆ มากมายที่ใช้สำหรับการยืนยันฟังก์ชัน ฟังก์ชัน Assert.equal() เป็นหนึ่งในนั้น ฟังก์ชันนี้ใช้เพื่อทดสอบความเท่าเทียมกันระหว่างพารามิเตอร์จริงและพารามิเตอร์ที่คาดไว้ ข้อผิดพลาดในการยืนยันจะเพิ่มขึ้นหากไม่เป็นไปตามเงื่อนไข
ไวยากรณ์
assert.equal(actual, expected[, message])
พารามิเตอร์
พารามิเตอร์ข้างต้นอธิบายไว้ด้านล่าง −
-
ของจริง – นี่คือค่าจริงที่จะถูกประเมินโดยเทียบกับพารามิเตอร์ที่คาดไว้
-
คาดว่า – นี่คือค่าพารามิเตอร์ที่คาดไว้ซึ่งตรงกับค่าจริง
-
ข้อความ – พารามิเตอร์นี้เก็บค่าข้อความสตริงที่จะพิมพ์หากพารามิเตอร์จริงและพารามิเตอร์ที่คาดไว้ไม่ตรงกัน เป็นช่องที่ไม่บังคับ
การติดตั้งโมดูลยืนยัน
npm install assert
โมดูลยืนยันเป็นโมดูล inbuilt Node.js ดังนั้นคุณสามารถข้ามขั้นตอนนี้ได้เช่นกัน คุณสามารถตรวจสอบเวอร์ชันยืนยันได้โดยใช้คำสั่งต่อไปนี้เพื่อรับโมดูลการยืนยันล่าสุด
npm version assert
การนำเข้าโมดูลในฟังก์ชันของคุณ
const assert = require("assert");
ตัวอย่าง
สร้างไฟล์ที่มีชื่อ – assertEqual.js และคัดลอกข้อมูลโค้ดด้านล่าง หลังจากสร้างไฟล์แล้ว ให้ใช้คำสั่งด้านล่างเพื่อรันโค้ดนี้
node assertEqual.js
ยืนยันEqual.js
// Importing the module const assert = require('assert').strict; var a = 21; var b = 20; // Function call try { // Checking if both a & b are equal assert.equal(a, b); } catch(error) { console.log("Error: ", error) }
ผลลัพธ์
C:\home\node>> node assertEqual.js Error: { AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B: + expected - actual - 21 + 20 at Object.<anonymous> (/home/node/mysql-test/assert.js:10: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: 21, expected: 20, operator: 'strictEqual' }
เราจะเห็นได้จากตัวอย่างข้างต้นว่าค่าทั้งสองไม่เท่ากัน
ตัวอย่าง
ลองดูอีกตัวอย่างหนึ่ง
// Importing the module const assert = require('assert'); var a = 20; var b = '20'; // Function call try { // Checking if both a & b are equal assert.equal(a, b); console.log("a and b are equal") } catch(error) { console.log("Error: ", error) }
ผลลัพธ์
C:\home\node>> node assert.js a and b are equal
ในตัวอย่างข้างต้น เราสามารถเห็นได้ว่า a เป็นค่าจำนวนเต็ม ในขณะที่ b เป็นค่าสตริง แต่เนื้อหาภายในเท่ากัน ดังนั้นผลลัพธ์ทำให้เราทั้ง a และ b เท่ากัน