1.2 KiB
1.2 KiB
title | category | layout |
---|---|---|
expect.js | JavaScript libraries | 2017/sheet |
Expectations
expect(x).toBe(y)
.toBe(val)
.toEqual(val)
.toThrow(err)
.toExist() // aka: toBeTruthy()
.toNotExist() // aka: toBeFalsy()
.toBeA(constructor)
.toBeA('string')
.toMatch(/expr/)
.toBeLessThan(n)
.toBeGreaterThan(n)
.toBeLessThanOrEqualTo(n)
.toBeGreaterThanOrEqualTo(n)
.toInclude(val) // aka: toContain(val)
.toExclude(val)
.toIncludeKey(key)
.toExcludeKey(key)
Also: toNotBe
, toNotEqual
, etc for negatives.
Chaining assertions
expect(3.14)
.toExist()
.toBeLessThan(4)
.toBeGreaterThan(3)
Assertions can be chained.
Spies
spy = expect.spyOn(video, 'play')
spy = expect.spyOn(...)
.andCallThrough() /* pass through */
.andCall(fn)
.andThrow(exception)
.andReturn(value)
expect(spy.calls.length).toEqual(1)
expect(spy.calls[0].context).toBe(video)
expect(spy.calls[0].arguments).toEqual([ 'some', 'args' ])
expect(spy.getLastCall().arguments).toEqual(...)
expect(spy).toHaveBeenCalled()
expect(spy).toHaveBeenCalledWith('some', 'args')