Sinon.stub(obj, method) takes 1.5 seconds to run in meteor


#1

Hi there,

I noticed that one of my tests takes 1.5 seconds to execute, and, in debugging it, I think I’ve narrowed it down to the following snippet:

describe('SomeApi', function() {
  it('gets events', function() {
    var startMs = new Date();
    var a = {list: function(){}};
    sinon.stub(a, 'list');
    console.log('meteor-sinon-wtf', new Date() - startMs);
  });
});

this prints: meteor-sinon-wtf 1441

if I refresh the test runner, it prints 1.

If I put this in two consecutive tests, then it prints (on the first execution):
meteor-sinon-wtf 1403
meteor-sinon-wtf 0

Finally, if I call sinon.stub() (without stubbing an object’s method) it again only takes <1ms.

It seems to be related to the first execution only. If I run the same command in pure node, it doesn’t happen. So it seems to be something specific to Meteor. I’m using practicalmeteor:mocha and I’m importing sinon from practicalmeteor:sinon.

Any ideas how to fix this?

-Chris