Sinon

spy

sinon.spy()

stub

sinon.stub().resolves()

mock

fake

pre-program behavior and make assertions. unclear how this differs from stub

sinon.fake.returns(…);
sinon.fake.resolves(…);