Using Matchers
The simplest way to test a value is with exact equality.
test('two plus two is four', () => {
expect(2 + 2).equal(4);
});In this code, expect(2+2) returns an "Value" object. You typically won't do much with these objects except call matchers on them. In this code, .equal(4) is the matcher. When Jest runs, it tracks all the failing matchers so that it can print out nice error messages for you.
Equal
In the most condition, equal is similar as ==, you can use this matcher to compare i32 | i64 | u32 | u64 | f32 | f64 | string just like ==. What's more, it can also be used to compare some inner type, such as Array | Map | Set.
However, Class and Interface cannot be compared directly now.
notEqual is the opposite of equal
Numbers
Most ways of comparing numbers have matcher equivalents, like equal, greaterThan, greaterThanOrEqual, lessThan, lessThanOrEqual.
Specially, for float type, use closeTo instead of equal to avoid rounding error.
Nullable
isNull and notNull matcher can be used to a nullable object. Of cource, you can also use equal and notEqual to do same thing with explicit generic declartion expect<T | null>()