Hướng dẫn về Jasmine Framework: Kiểm tra đơn vị với ví dụ
JasmineJS là gì?
Jasmine là một mã nguồn mở và phổ biến nhất JavaKhung thử nghiệm thư viện tập lệnh để thử nghiệm bất kỳ loại nào JavaỨng dụng tập lệnh. Jasmine tuân theo quy trình Phát triển theo hành vi (BDD) để đảm bảo rằng mỗi dòng JavaCâu lệnh script được kiểm tra đơn vị đúng cách.
Khung Jasmine được sử dụng để làm gì?
Kiểm tra là một yếu tố quan trọng đối với bất kỳ ứng dụng nào. Đối với thử nghiệm đơn vị NodeJS, khung có sẵn để Thử nghiệm được gọi là Jasmine. Đầu năm 2000, đã có một khuôn khổ để thử nghiệm JavaScript các ứng dụng có tên JsUnit. Later khung này đã được nâng cấp và hiện được gọi là Jasmine.
Jasmine giúp tự động Kiểm tra đơn vị, một điều đã trở thành một thông lệ quan trọng khi phát triển và triển khai các ứng dụng web hiện đại.
Trong hướng dẫn Jasmine này, bạn sẽ tìm hiểu cách thiết lập môi trường của mình với Jasmine và cách chạy thử nghiệm Jasmine cho ứng dụng Node.js đầu tiên của bạn.
Jasmine để thử nghiệm các ứng dụng Node.js
Hoa nhài là một Phát triển theo định hướng hành vi (BDD) khung thử nghiệm cho JavaKịch bản. Nó làm không dựa vào trình duyệt, DOM hoặc bất kỳ JavaKhung kịch bản. Do đó, nó phù hợp với các trang web, dự án Node.js hoặc bất kỳ nơi nào JavaCó thể chạy tập lệnh. Để bắt đầu sử dụng Jasmine, trước tiên bạn cần tải xuống và cài đặt các mô-đun Jasmine cần thiết.
Cách thiết lập môi trường thử nghiệm Jasmine
Tiếp theo trong hướng dẫn Jasmine Node JS này, bạn sẽ cần khởi tạo môi trường của mình và kiểm tra tệp cấu hình Jasmine. Các bước dưới đây cho thấy cách thiết lập Jasmine trong môi trường của bạn
Bước 1) Cài đặt mô-đun NPM
Bạn cần phải Cài đặt NPM mô-đun Jasmine để sử dụng khung Jasmine từ bên trong ứng dụng Node. Để cài đặt mô-đun nút hoa nhài, hãy chạy lệnh bên dưới.
npm cài đặt nút hoa nhài
Bước 2) Khởi tạo môi trường Jasmine
Khởi tạo dự án – Bằng cách này, Jasmine tạo một thư mục đặc tả và cấu hình json cho bạn. Thư mục spec được sử dụng để lưu trữ tất cả các file test của bạn. Bằng cách này, Jasmine sẽ biết tất cả các bài kiểm tra của bạn ở đâu và sau đó có thể thực hiện chúng cho phù hợp. Các JSON file được sử dụng để lưu trữ thông tin cấu hình cụ thể về Jasmine.
Để khởi tạo môi trường hoa nhài, hãy chạy lệnh bên dưới
hoa nhài ban đầu
Bước 3) Kiểm tra tập tin cấu hình của bạn.
Tệp cấu hình sẽ được lưu trữ trong thư mục spec/support dưới dạng Jasmine.json. Tệp này liệt kê các tệp nguồn và tệp thông số kỹ thuật mà bạn muốn trình chạy Jasmine đưa vào.
Ảnh chụp màn hình bên dưới hiển thị một ví dụ điển hình về tệp pack.json cho Jasmine.
- Lưu ý rằng thư mục spec được chỉ định ở đây. Như đã lưu ý trước đó, khi Jasmine chạy, nó sẽ tìm kiếm tất cả các bài kiểm tra trong thư mục này.
- Điều tiếp theo cần lưu ý là tham số spec_files - Điều này biểu thị rằng bất kỳ tệp thử nghiệm nào được tạo, chúng phải được thêm vào từ khóa 'spec'.
Tiếp theo trong hướng dẫn về khung Jasmine này, chúng ta sẽ tìm hiểu cách sử dụng Jasmine để kiểm tra các ứng dụng Node.js.
Cách sử dụng Jasmine để kiểm tra ứng dụng Node.js
Để sử dụng thử nghiệm đơn vị Jasmine cho các ứng dụng Node.js, cần phải tuân theo một loạt các bước.
Trong ví dụ bên dưới, chúng tôi sẽ xác định một mô-đun cộng 2 số cần kiểm tra. Sau đó chúng ta sẽ định nghĩa một file code riêng với mã kiểm tra rồi sử dụng Jasmine để kiểm tra hàm Add cho phù hợp.
Bước 1) Xác định mã cần được kiểm tra. Chúng ta sẽ định nghĩa một hàm sẽ cộng 2 số và trả về kết quả. Mã này sẽ được viết trong một tệp có tên là “Add.js”.
var exports=module.exports={}; exports.AddNumber=function(a,b) { return a+b; };
Giải thích mã
- Từ khóa “xuất” được sử dụng để đảm bảo rằng chức năng được xác định trong tệp này thực sự có thể được truy cập bởi các tệp khác.
- Sau đó chúng tôi định nghĩa một hàm có tên là 'AddNumber.' Hàm này được xác định để lấy 2 tham số a và b. Chức năng này được thêm vào mô-đun “xuất” để biến chức năng này thành một chức năng công khai mà các mô-đun ứng dụng khác có thể truy cập.
- Cuối cùng, chúng ta đã làm cho hàm của mình trả về giá trị gia tăng của các tham số.
Bước 2) Tiếp theo, chúng ta cần xác định mã kiểm tra Jasmine, mã này sẽ được sử dụng để kiểm tra chức năng “Thêm” trong tệp Add.js. Đoạn mã dưới đây cần đặt vào một tệp có tên add-spec.js.
Chú thích: – Từ 'spec' cần được thêm vào tệp thử nghiệm để Jasmine có thể phát hiện được.
Giải thích mã
var app=require("../Add.js"); describe("Addition",function(){ it("The function should add 2 numbers",function() { var value=app.AddNumber(5,6); expect(value).toBe(11); }); });
- Trước tiên, chúng ta cần đưa tệp Add.js của mình vào để có thể kiểm tra chức năng 'AddNumber' trong tệp này.
- Chúng tôi hiện đang tạo mô-đun thử nghiệm của mình. Phần đầu tiên của mô-đun thử nghiệm là mô tả một phương thức về cơ bản đặt tên cho thử nghiệm của chúng tôi. Trong trường hợp này, tên thử nghiệm của chúng tôi là “Bổ sung”.
- Phần tiếp theo là đưa ra mô tả cho thử nghiệm của chúng tôi bằng phương pháp 'it'.
- Bây giờ chúng ta gọi phương thức Addnumber và gửi 2 tham số 5 và 6. Điều này sẽ được chuyển đến phương thức Addnumber của chúng ta trong tệp App.js. Giá trị trả về sau đó được lưu trữ trong một biến gọi là giá trị.
- Bước cuối cùng là thực hiện so sánh hoặc kiểm tra thực tế của chúng tôi. Vì dự kiến giá trị mà hàm Addnumber trả về là 11 nên chúng tôi xác định giá trị này bằng phương thức Expect(value).toBe(the Expected value).
Đầu ra
- Để chạy thử nghiệm, người ta cần chạy lệnh Jasmine.
- Ảnh chụp màn hình bên dưới cho thấy rằng sau khi lệnh Jasmine được chạy, nó sẽ phát hiện rằng có một thử nghiệm có tên add-spec.js và thực hiện thử nghiệm đó tương ứng. Nếu có bất kỳ lỗi nào trong bài kiểm tra, nó sẽ được hiển thị tương ứng.
Tổng kết
- Để kiểm tra một Node.js ứng dụng, khung Jasmine cần được cài đặt trước. Điều này được thực hiện bằng cách sử dụng trình quản lý gói Node.
- Mã kiểm tra cần phải được viết trong một tệp riêng biệt và từ 'spec' phải được thêm vào tên tệp. Chỉ khi điều này được thực hiện thì Jasmine mới có thể phát hiện ra rằng một tập tin cần được chạy.
- Để chạy thử nghiệm, bạn cần thực thi lệnh Jasmine. Thao tác này sẽ tìm tất cả các tệp có từ 'spec' được đính kèm và chạy tệp tương ứng.