sinon stub not replacing function

Sinon stubs the property of the object, not the function itself.

In your case you are exporting that function within an object.

module.exports = {
  takeTooLong,
  returnSomething
}

So in order to properly call the function from the object, you need to replace your function call with the reference to the export object like :

function takeTooLong() {
    return module.exports.returnSomething();
}

Of course based on your code, you can always refactor it :

var exports = module.exports = {

    takeTooLong: function() { return exports.returnSomething() }

    returnSomething: function() { /* .. */ }

}