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

Hàm khẳng định.notDeepStrictEqual () 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. Kiểm tra khẳng định.notDeepStrictEqual rằng hai đối tượng không được ngang bằng nhau. Lỗi xác nhận được đưa ra nếu cả hai đối tượng hoàn toàn bằng nhau.

Cú pháp

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

Tham số

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

  • thực tế - Tham số này chứa giá trị thực tế cần được so sánh.

  • dự kiến ​​ - Tham số này sẽ giữ các giá trị mong đợi được đánh giá giống với các tham số thực tế.

  • tin nhắn - Đây là một tham số tùy chọn. Đây là thông báo do người dùng xác định được in khi chức năng được thực thi.

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").strict;

Ví dụ

Tạo tệp với tên - notDeepStrictEqual.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 dưới đây để chạy mã này.

node notDeepStrictEqual.js

notDeepStrictEqual.js

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

try {
   // Checking if actual and expected parameters are equal
   assert.notDeepStrictEqual({ a: '21' }, { a: '24' });
   console.log("Objects are not equal")
} catch(error) {
   console.log("Error: ", error)
}

Đầu ra

C:\home\node>> node notDeepStrictEqual.js
Objects are not equal

Ví dụ

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

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

try {
   // Checking if actual and expected parameters are equal
   assert.notDeepStrictEqual({ a: '21' }, { a: '21' });
   console.log("Objects are not equal")
} catch(error) {
   console.log("Error: ", error)
}

Đầu ra

C:\home\node>> node notDeepStrictEqual.js
Error: { AssertionError [ERR_ASSERTION]: Identical input passed to
notDeepStrictEqual:
{
   a: '21'
}
      at Object. (/home/node/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' }

Chúng ta có thể thấy rằng trong ví dụ trên, cả hai giá trị đều là 21 và thuộc loại chuỗi.