Mô tả
Module assert cung cấp nhiều chức năng khác nhau dùng cho khẳng định hàm. Hàm assert.equal() là một trong số đó. Hàm này dùng để kiểm tra sự bằng nhau giữa tham số thực tế (actual) và tham số kỳ vọng (expected). Lỗi khẳng định sẽ được ném ra nếu điều kiện không được thỏa mãn.
Cú pháp
assert.equal(actual, expected[, message])
Tham số
actual – Giá trị thực tế sẽ được đánh giá đối với tham số kỳ vọng.
expected – Giá trị tham số kỳ vọng được so khớp với giá trị thực tế.
message – Tham số chứa chuỗi thông báo được in nếu actual và expected không khớp. Là trường tùy chọn.
Cài đặt module Assert
npm install assert
Module assert là module tích hợp sẵn của Node.js, nên bạn có thể bỏ qua bước này. Bạn có thể kiểm tra phiên bản assert bằng lệnh sau để lấy module assert mới nhất.
npm version assert
Import module vào hàm
const assert = require("assert");Ví dụ
Tạo file tên assertEqual.js và sao chép đoạn mã dưới. Sau khi tạo file, dùng lệnh sau để chạy:
node assertEqual.js
assertEqual.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); }Đầu ra
C:\home\node>> node assertEqual.js Error: { AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B: + expected - actual - 21 + 20 at Object. (/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' } Trong ví dụ trên, cả hai giá trị không bằng nhau.
Ví dụ khác
Xem thêm một ví dụ nữa.
// 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); }Đầu ra
C:\home\node>> node assert.js a and b are equal
Trong ví dụ trên, a là giá trị nguyên, b là giá trị chuỗi. Nhưng nội dung bên trong bằng nhau. Do đó đầu ra cho thấy a và b bằng nhau.