Tìm hiểu về Node.js vàMocha
Mocha là một thư việc test nhanh, đơn giản và mở rộng của Node.js. Bài viết dưới đây xin đề cập tới cách cài đặt, cấu hình và sử dụng của nó. Mocha là một thư viện test dành cho Node.js, khá đơn giản, có tính mở rộng và test khá nhanh, được sử dụng trong Unit test hoặc Integration test. Và ...
Mocha là một thư việc test nhanh, đơn giản và mở rộng của Node.js. Bài viết dưới đây xin đề cập tới cách cài đặt, cấu hình và sử dụng của nó.
Mocha là một thư viện test dành cho Node.js, khá đơn giản, có tính mở rộng và test khá nhanh, được sử dụng trong Unit test hoặc Integration test. Và nó là một sự lựa chọn tuyệt vời cho BDD (Behavior Driven Development_một quá trình phát triển phần mềm dựa trên phương pháp Agile(phát triển phần mềm linh hoạt)).
Bài viết này sẽ giới thiệu về cách cài đặt, cấu hình và cách sử dụng của nó thông qua việc implement một bộ chuyển đổi màu mà có thể biên dịch từ màu RGB (red, green, blue) sang hệ màu thập lục phân. Ngoài ra, một web server với đầy đủ các bộ chuyển đổi bên trên cũng sẽ được tạo ra và hướng dẫn làm sao để có thể test code không đồng bộ được.
Bootstrap
Một directory rỗng sẽ được tạo ra.
mkdir converter cd converter
NPM (Node Package Manager) sẽ giúp chúng ta tạo một project rỗng. — npm — will help us set up an empty project. Tùy chọn initcommand line của NPM sẽ khởi động wizard để tạo ra một package.json cho dự án của chúng ta. Mục đích của hướng dẫn này nhằm trả lời cho các câu hỏi dưới đây:
npm init { "name": "converter", "version": "0.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "author": "", "license": "ISC" }
Cấu trúc dự án của chúng ta sẽ chữa một app directory. App directory này sẽ chữa code có thể chạy được và một test directory là một place chuẩn để đặt file Mocha test:
mkdir app mkdir test
Tiếp theo, chúng ta sẽ install testing framwork và một library mong muốn gọi là Chai. Thư viện này sẽ được sử dụng như một cái thay thế hữu hiệu cho hàm assert chuẩn của Node.
npm install mocha --save npm install chai --save
Lưu ý rằng, chúng ta đang sử dụng tùy chọn --save để tự lưu những phụ thuộc này vào file package.json của chúng ta Trong suốt phase testing server, chúng ta cần một cách để gửi HTTP request. Request là sự lựa chọn tốt nhất. Cài đặt như sau:
npm install request --save
Cuối cùng, chúng ta cần một gói Express package để define một DSL (domain specific language) đơn giản để định tuyến và xử lý các HTTP request sẽ tới:
npm install express --save
Tại thời điểm này, chúng ta đã hoàn thành một chu trình của bootstrap. Tuy nhiên, chúng ta sẽ phải cấu hình thêm một cái nữa để giúp việc chạy tests suite dễ dàng hơn. Chúng ta sẽ thiết lập các lệnh test (test command) bên trong file package.json. Để giúp các tests của chúng ta chạy được một cách đơn giản thì cần chạy NPM test từ command line Command dưới đây được sử dụng để gọi Mocha binary đã được cài đặt ở ./node_modules directory:
./node_modules/.bin/mocha --reporter spec
Lưu ý rằng, chúng ta đã thay đổi standard reporter mà Mocha sử dụng và thiết lập pecreporter dài dòng hơn, do đó sẽ phù hợp với những người mới bắt đầu. Bạn có thểm tham khảo các reporter khác trên website chính thức cuẩ Mocha Tiếp theo, chúng ta sễ update test command trong package.json mà có chứa command bên trên. File đó sẽ trông như sau:
{ "name": "converter", "version": "0.0.0", "description": "", "main": "index.js", "scripts": { "test": "./node_modules/.bin/mocha --reporter spec" }, "author": "", "license": "ISC" }