Giới thiệu về Thử nghiệm Với Jest
Jest là một khuôn khổ thử nghiệm JavaScript yêu cầu ít hoặc không cần cấu hình. Đây là một bài viết nhanh để giúp bạn bắt đầu và sử dụng nó.
Cài đặt Jest
Bạn có đang sử dụng ứng dụng tạo-phản ứng không? Nếu vậy, Jest đã được cài đặt sẵn, vì vậy bạn có thể bỏ qua phần này. Cảm ơn, tích hợp dọc!
Nó khá đơn giản. Cài đặt nó qua Yarn (hoặc NPM):
yarn add --dev jest
Và thêm một tập lệnh cho nó trong package.json:
"scripts": { "test": "jest" }
Nếu bạn muốn sử dụng Babel trong các thử nghiệm của bạn , chỉ cần cài đặt babel-jest
:
yarn add --dev babel-jest
Tạo file thử nghiệm
Jest sẽ coi các file nào kết thúc bằng .test.js
hoặc .spec.js
là file thử nghiệm. Vì vậy, nếu bạn có một file tên là divide.js
, bạn có thể đặt một divide.test.js
bên cạnh file đó trong cùng một folder và Jest sẽ chọn file đó khi nó chạy.
Jest cũng sẽ coi các file nằm trong folder __TESTS__
là file kiểm tra, nếu bạn muốn giữ các bài kiểm tra của bạn riêng biệt.
Kiểm tra Viết
Jest đưa một số hình cầu vào các file thử nghiệm, vì vậy không có gì để nhập ngoài những thứ bạn muốn kiểm tra. Vì vậy, nếu bạn có một divide.js
như:
export default function divide(dividend, divisor) { if (divisor === 0) { throw new Error('Division by zero.'); } return dividend / divisor; }
divide.test.js
của bạn sẽ trông giống như sau:
import divide from './divide'; // Describe the test and wrap it in a function. it('divides down to the nearest integer.', () => { const result = divide(5, 2); // Jest uses matchers, like pretty much any other JavaScript testing framework. // They're designed to be easy to get at a glance; // here, you're expecting `result` to be 2.5. expect(result).toBe(2.5); });
Từ đó, chỉ cần chạy tập lệnh của bạn:
yarn run test
Và Jest sẽ chạy các bài kiểm tra của bạn.
Phủ sóng
Một trong những điều tốt nhất về Jest là cách dễ dàng nhận được mã bao phủ. Tất cả những gì bạn phải làm là vượt qua cờ coverage
và Jest sẽ xử lý phần còn lại. Vì vậy, đối với ví dụ trong phần cuối cùng, chỉ cần thay đổi lệnh thành:
yarn run test -- --coverage
Và nó sẽ cung cấp cho bạn phạm vi bảo hiểm:
👑 Đây chỉ là phần giới thiệu; còn nhiều hơn thế nữa cho Jest.
Các tin liên quan