Using Matchers (ok)
https://jestjs.io/docs/using-matchers
Common Matchers
The simplest way to test a value is with exact equality.
test('two plus two is four', () => {
expect(2 + 2).toBe(4);
});Trong mã này, kỳ vọng (2 + 2) trả về một đối tượng "kỳ vọng". Bạn thường sẽ không làm được gì nhiều với các đối tượng kỳ vọng này ngoại trừ các trình khớp lệnh gọi trên chúng. Trong mã này, .toBe (4) là trình đối sánh. Khi Jest chạy, nó sẽ theo dõi tất cả các trình khớp lỗi để có thể in ra các thông báo lỗi đẹp cho bạn.
toBe sử dụng Object.is để kiểm tra sự bình đẳng chính xác. Nếu bạn muốn kiểm tra giá trị của một đối tượng, hãy sử dụng toEqual để thay thế:
test('object assignment', () => {
const data = {one: 1};
data['two'] = 2;
expect(data).toEqual({one: 1, two: 2});
});toEqual kiểm tra đệ quy mọi trường của một đối tượng hoặc mảng.
test('object assignment', () => {
const data = {one: 1};
data['two'] = 2;
expect(data).toEqual({one: 1, two: 2});
});You can also test for the opposite of a matcher:
Truthiness
Trong các bài kiểm tra, đôi khi bạn cần phân biệt giữa không xác định, null và sai, nhưng đôi khi bạn không muốn xử lý chúng theo cách khác nhau. Jest chứa những người trợ giúp cho phép bạn rõ ràng về những gì bạn muốn.
toBeNullmatches onlynulltoBeUndefinedmatches onlyundefinedtoBeDefinedis the opposite oftoBeUndefinedtoBeTruthymatches anything that anifstatement treats as truetoBeFalsymatches anything that anifstatement treats as false
Numbers
For floating point equality, use toBeCloseTo instead of toEqual, because you don't want a test to depend on a tiny rounding error.
toBeCloseTo instead of toEqual, because you don't want a test to depend on a tiny rounding error.Strings
Arrays and iterables
Exceptions
Lưu ý: hàm ném một ngoại lệ cần phải được gọi trong một hàm gói, nếu không, khẳng định toThrow sẽ không thành công.
Last updated
Was this helpful?