What sort of matchers can I use on my expect calls?
const earth = { round: true }
const globe = { round: true }
const fish = { round: false }
const egg = undefined
const age = 43
const max = 83
const names = ['asad', 'mladen', 'ben', 'roger', 'ardit', 'alexis']
describe('the behaviour of the Jasmine matchers', () => {
it('should implement toBe correctly', () => {
expect(earth.round).toBe(true)
expect(earth).not.toBe(globe)
})
it('should implement toEqual correctly', () => {
expect(earth).toEqual(globe)
expect(earth).not.toEqual(fish)
})
it('should implement toBeDefined correctly', () => {
expect(earth).toBeDefined()
expect(egg).not.toBeDefined()
})
it('should implement toBeTruthy correctly', () => {
expect(earth).toBeTruthy()
expect(egg).not.toBeTruthy()
})
it('should implement toBeFalsey correctly', () => {
expect(earth).not.toBeFalsy()
expect(egg).toBeFalsy()
})
it('should implement toBeGreaterThan correctly', () => {
expect(max).toBeGreaterThan(age)
expect(age).not.toBeGreaterThan(max)
})
it('should implement toBeLessThan correctly', () => {
expect(age).toBeLessThan(max)
expect(max).not.toBeLessThan(age)
})
it('should implement toContain correctly', () => {
expect(names).toContain('ben')
expect(names).not.toContain('robin')
})
it('should implement toBeCloseTo correctly', () => {
expect(3.1415).toBeCloseTo(3.14, 2)
expect(3.1415).not.toBeCloseTo(3.15, 2)
})
it('should implement jasmine.any() correctly', () => {
expect([]).toEqual(jasmine.any(Array))
expect(() => {}).toEqual(jasmine.any(Function))
})
})
Last updated
Was this helpful?