A simple sinon-chai assertion to validate many aspects of stub calls

Usage no npm install needed!

<script type="module">
  import chaiCallslike from '';



build test lint Test Coverage Maintainability Packages npm version

A simple assertion to validate many aspects of stub calls. It is supposed to use with sinon + chai.

How it works


Will validate the exactly interaction with the mocked method, which is:

  • How many times has been called;
  • Which parameters have been passed to it;
  • In what order the calls happened.

How to use?

Just pass the stub in the first parameter and, in the others, arrays with the set of parameters each calls had received.

  ['param1call1', 'param2call1', 'param3call1'],
  ['param1call2', 'param2call2', 'param3call2'],

If you want to check if the stub had never been called, pass just the stub:


If you expect the stub to have been called with no parameters, pass empty arrays:

expect(myStub).callsLike([], [], [])

(in this example, myStub have been called three times with no parameters)

You can also use sinon matchers to validate the parameters instead of exact values:

  [sinon.match.object, sinon.match.string, sinon.match(/.+foo.+goo/)]

The generated log will look pretty as this:

If if didn't show up, take a look in the resources folder!

For more info look into the Full API Reference.