โมดูลยืนยันมีฟังก์ชันต่างๆ มากมายที่ใช้สำหรับการยืนยันฟังก์ชัน ฟังก์ชัน 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 เท่ากัน