Stubbing an ES6 class method using Mocha and Sinon in NodeJS

michael picture michael · May 26, 2016 · Viewed 8.3k times · Source

Is there a way to stub an ES6 class method using Mocha/Sinon?

I'm trying to do this...

sinon.stub(Factory, 'announce');

but I just get the following error...

TypeError: Attempted to wrap undefined property announce as function

Answer

Bergi picture Bergi · May 27, 2016

Instance methods are still placed on the prototype object of a class to be inherited from, not on its constructor, even if the class syntax obscures that a bit. Use

sinon.stub(Factory.prototype, 'announce');