Giới thiệu về Jest (Delightful JavaScript Testing)
https://viblo.asia/p/gioi-thieu-ve-jest-delightful-javascript-testing-gDVK2wWeZLj
Giới thiệu chung về jest.

Jest là một thư viện testing được tạo bởi facebook.
Nó được tạo ra với mục tiêu ban đầu là cho reactjs, nhưng nó đã vượt xa những nhu cầu ban đầu, để trở thành một thư viện testing cho javascript một cách hoàn chỉnh.
Một trong nhưng ưu điểm lớn của jest là nó làm việc hiệu quả với rất ít bước setup và configuration. Nó đến với các tính năng chính là assertion library và hỗ trợ mocking.
Nó được viết theo BDD style như hầu hết các thư viện testing hiện nay. Jest còn có một tính năng đặc biệt, đó là snapshot testing, nó lưu lại snapshot (hay nói cách khác là cấu trúc view tại thời điểm hiện tại) rồi so sánh với snapshot trong tương lai, nếu chúng không giống nhau thì test của chúng ta đã fail hoặc có một số thứ đã thay đổi.
Jest có một số nhược điểm quan trọng như: nó là một thư viện mới, vẫn chưa được dùng nhiều bởi cộng đồng developer. Nó có ít tool và thư viện support so với các thư viện cũ và lão làng như Mocha.
Overview các tính năng của jest.
Using Matchers
Test Truthiness (kiểm tra tính đúng đắn)
Number:
String:
Array:
Exception:
Callbacks
Promise:
Async/Await
Setup cho nhiều test:
Setup một lần (bắt đầu hoặc kết thúc):
Nhóm test lại (describe):
Dùng mock function:
Mock return value (define giá trị trả lại của function)
Custom Matchers
Dùng thuộc tính .mock để inspect nhiều xác định hơn:
Mock Implementations: Hơn cả chức năng trả lại, nó còn thay thế toàn bộ hàm mocking:
Testing snapshot:
renderer.create create ra view và chuyển view này thành json, toMatchSnapshot() sẽ so sánh cấu trúc hiện tại với snapshot lần cuối, nếu chưa có thì nó sẽ tạo cái mới và cho test này pass. Snapshot file sẽ chứa output như:
Trên đây là một số giới thiệu cho cái nhìn tổng quan về jest, hy vọng mọi người có thể trải nghiệm và vận dụng được nó 
Last updated
Was this helpful?