Computer >> Máy Tính >  >> Lập trình >> Javascript

Hàm khẳng định.deepStrictEqual () trong Node.js

Mô-đun khẳng định cung cấp một loạt các chức năng khác nhau được sử dụng để xác nhận chức năng. Một trong số đó là hàm deepStrictEqual (). Hàm này được sử dụng để kiểm tra sự bình đẳng sâu sắc giữa các tham số thực tế và dự kiến. Lỗi xác nhận sẽ xuất hiện nếu điều kiện không được đáp ứng.

Cú pháp

assert.deepStrictEqual(actual, expected[, message])

Tham số

Các thông số trên được mô tả như bên dưới -

  • thực tế - Đây là giá trị thực tế sẽ được đánh giá dựa trên các thông số mong đợi.

  • dự kiến ​​ - Đây là giá trị tham số mong đợi được khớp với giá trị thực.

  • tin nhắn - Tham số này giữ giá trị thông báo chuỗi sẽ được in nếu tham số thực tế và tham số mong đợi không khớp. Đây là một trường tùy chọn.

Cài đặt Mô-đun Assert

npm install assert

Mô-đun khẳng định là một mô-đun Node.js có sẵn, vì vậy bạn cũng có thể bỏ qua bước này. Bạn có thể kiểm tra phiên bản xác nhận bằng cách sử dụng lệnh sau để tải mô-đun xác nhận mới nhất.

npm version assert

Nhập mô-đun trong chức năng của bạn

const assert = require("assert");

Ví dụ

Tạo tệp có tên - khẳng địnhDeepStrict.js và sao chép đoạn mã bên dưới. Sau khi tạo tệp, hãy sử dụng lệnh sau để chạy mã này.

node assertDeepStrict.js

khẳng địnhDeepStrict.js

// Importing the assert module
const assert = require('assert').strict;

try {
   // Calling the deep strict function
   assert.deepStrictEqual({ a: 3 }, { a: '3' });
   console.log("No Error Occured...")
} catch(error) {
   console.log("Error: ", error)
}

Đầu ra

C:\home\node>> node assertDeepStrict.js
Error: { AssertionError [ERR_ASSERTION]: Input A expected to strictly deepequal input B:
+ expected - actual
   {
      - a: 3
      + a: '3'
   }
   at Object.<anonymous> (/home/node/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: 3 },
expected: { a: '3' },
operator: 'deepStrictEqual' }

Chúng ta có thể thấy trong ví dụ trên rằng một giá trị là số nguyên trong khi giá trị kia là chuỗi. Do đó, phương pháp đã gây ra lỗi ở trên.

Ví dụ

Hãy xem thêm một ví dụ.

// Importing the assert module
const assert = require('assert').strict;

try {
   // Calling the deep strict function
   // Both the values are string
   assert.deepStrictEqual({ a: '3' }, { a: '3' });
   console.log("No Error Occured...")
} catch(error) {
   console.log("Error: ", error)
}

Đầu ra

C:\home\node>> node assertDeepStrict.js
No Error Occured...