Skip to content

spy.calledOnceWith ​

Returns true, when the fake, spy or stub was called exactly once and that one call was made using the provided arguments.

js
import tap from "tap";
import * as sinon from "sinon";

tap.test("spy.calledOnceWith", (t) => {
  const spy = sinon.spy();

  t.notOk(
    spy.calledOnceWith("apple pie", "coffee"),
    "returns false when spy has not been called"
  );

  spy("apple pie", "coffee");
  t.ok(
    spy.calledOnceWith("apple pie", "coffee"),
    "returns true when spy was called exactly once with arguments"
  );

  spy("apple pie", "coffee");
  t.notOk(
    spy.calledOnceWith("apple pie", "coffee"),
    "returns false when spy was called more than once"
  );

  t.end();
});

Resetting calledOnceWith to default ​

You can reset calledOnceWith in three different ways: