DEV Community ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

DEV Community ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป is a community of 963,673 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Lรขm
Lรขm

Posted on

Expect.Js Cheat Sheet

References

Assertions on spies

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(...)
Enter fullscreen mode Exit fullscreen mode
expect(spy).toHaveBeenCalled()
expect(spy).toHaveBeenCalledWith('some', 'args')
Enter fullscreen mode Exit fullscreen mode

Spies

const video = {
  play: function () { ยทยทยท }
}
Enter fullscreen mode Exit fullscreen mode
spy = expect.spyOn(video, 'play')
Enter fullscreen mode Exit fullscreen mode
spy = expect.spyOn(ยทยทยท)
  .andCallThrough()      // pass through
  .andCall(fn)
  .andThrow(exception)
  .andReturn(value)
Enter fullscreen mode Exit fullscreen mode

Chaining assertions

expect(3.14)
  .toExist()
  .toBeLessThan(4)
  .toBeGreaterThan(3)
Enter fullscreen mode Exit fullscreen mode

Assertions can be chained.

Assertions

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)
Enter fullscreen mode Exit fullscreen mode

Also: toNotBe, toNotEqual, etc for negatives.

Using

npm install --save-dev expect
Enter fullscreen mode Exit fullscreen mode

{: .-setup}

// using ES6 modules
import expect, { createSpy, spyOn, isSpy } from 'expect'
Enter fullscreen mode Exit fullscreen mode
// using CommonJS modules
var expect = require('expect')
var createSpy = expect.createSpy
var spyOn = expect.spyOn
var isSpy = expect.isSpy
Enter fullscreen mode Exit fullscreen mode

Expect is a library for assertions in tests.
See: mjackson/expect

Top comments (0)

๐ŸŒš Life is too short to browse without dark mode