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

Hàm khẳng định.doesNotThrow () 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. Khẳng định.doesNotThrow sẽ khẳng định rằng hàm không thể tạo ra lỗi. Nó sẽ ngay lập tức gọi 'fn' khi khẳng định .doesNotThrow được gọi.

Cú pháp

 khẳng định.doesNotThrow (fn, [error], [message]) 

Tham số

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

  • fn - Hàm này sẽ được gọi khi khẳng định.doesNotThrow được thực thi. Nó sẽ gọi hàm này thay vì báo lỗi.

  • lỗi - Tham số này chứa biểu thức chính quy cho lỗi được chỉ định. Đây là một tham số tùy chọn.

  • 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 khẳng định 

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.

 khẳng định phiên bản npm 

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

 const khẳng định =request ("khẳng định"). nghiêm ngặt; 

Ví dụ

Tạo một tệp với tên - doesNotThrow.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.

nút
 doesNotThrow.js 

doesNotThrow.js

 // Nhập moduleconst khẳng định =request ('khẳng định'). nghiêm ngặt; thử {// Gọi phương thức doesNotThrow để dừng ném lỗi khẳng định.doesNotThrow (() => {ném mới TypeError ('Đã nhận sai giá trị. Vui lòng kiểm tra! ');},);} catch (error) {console.log ("Error:", error)} 

Đầu ra

 C:\ home \ node>> node doesNotThrow.jsError:{AssertionError [ERR_ASSERTION]:Có ngoại lệ không mong muốn. Thông báo thực tế:"Đã nhận sai giá trị. Vui lòng kiểm tra!" tại Object. (/home/node/test/assert.js:6:9) tại Module._compile (internal / modules / cjs / loader.js:778:30) tại Object.Module._extensions..js (internal / modules / cjs /loader.js:789:10) tại Module.load (internal / modules / cjs / loader.js:653:32) tại tryModuleLoad (internal / modules / cjs / loader.js:593:12) tại Function.Module. _load (internal / modules / cjs / loader.js:585:3) tại Function.Module.runMain (internal / modules / cjs / loader.js:831:12) khi khởi động (internal / bootstrap / node.js:283:19) tại bootstrapNodeJSCore (internal / bootstrap / node.js:623:3) createdMessage:false, name:'AssertionError [ERR_ASSERTION]', code:'ERR_ASSERTION', thực:TypeError:Nhận sai giá trị. Hãy kiểm tra ! tại khẳng định.doesNotThrow (/home/node/test/assert.js:8:9) tại getActual (khẳng định.js:567:5) tại Function.doesNotThrow (khẳng định.js:687:32) tại Đối tượng. (/home/node/test/assert.js:6:9) tại Module._compile (internal / modules / cjs / loader.js:778:30) tại Object.Module._extensions..js (internal / modules / cjs /loader.js:789:10) tại Module.load (internal / modules / cjs / loader.js:653:32) tại tryModuleLoad (internal / modules / cjs / loader.js:593:12) tại Function.Module. _load (internal / modules / cjs / loader.js:585:3) tại Function.Module.runMain (internal / modules / cjs / loader.js:831:12), dự kiến:undefined, operator:'doesNotThrow'}  

Ví dụ

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

 // Nhập moduleconst khẳng định =request ('khẳng định'). nghiêm ngặt; thử {khẳng định.doesNotThrow (() => {throw new TypeError ('Giá trị được truyền là sai !!');}, / abcd /, 'Rất tiếc');} catch (error) {console.log ("Error:", error)} 

Đầu ra

 C:\ home \ node>> node doesNotThrow.jsError:TypeError:Giá trị được truyền sai !! tại khẳng định.doesNotThrow (/home/node/test/assert.js:7:9) tại getActual (khẳng định.js:567:5) tại Function.doesNotThrow (khẳng định.js:687:32) tại Đối tượng. (/home/node/test/assert.js:5:9) tại Module._compile (internal / modules / cjs / loader.js:778:30) tại Object.Module._extensions..js (internal / modules / cjs /loader.js:789:10) tại Module.load (internal / modules / cjs / loader.js:653:32) tại tryModuleLoad (internal / modules / cjs / loader.js:593:12) tại Function.Module. _load (internal / modules / cjs / loader.js:585:3) tại Function.Module.runMain (internal / modules / cjs / loader.js:831:12)