sinon
HTML
<script src="http://sinonjs.org/releases/sinon-1.7.1.js"></script>
JavaScript
var A = function() {};
A.getInstance = function() {
return new A();
}
A.prototype.render = function() {
return this;
}
A.prototype.show = function() {}
var c = {
render: sinon.stub().returns(c),
show: sinon.stub()
};
sinon.stub(A, 'getInstance').returns({
render: sinon.stub(function() {return this}),
show: sinon.stub()
});
function f() {
A.getInstance().render().show();
}
f();
console.log(A.getInstance.callCount);