我试图用sinon.js存根的方法,但我得到了以下错误:打桩一个类的方法与Sinon.js
Uncaught TypeError: Attempted to wrap undefined property sample_pressure as function
我也去了这个问题(Stubbing and/or mocking a class in sinon.js?)和复制粘贴代码,但我得到相同的错误。
这是我的代码:
Sensor = (function() {
// A simple Sensor class
// Constructor
function Sensor(pressure) {
this.pressure = pressure;
}
Sensor.prototype.sample_pressure = function() {
return this.pressure;
};
return Sensor;
})();
// Doesn't work
var stub_sens = sinon.stub(Sensor, "sample_pressure").returns(0);
// Doesn't work
var stub_sens = sinon.stub(Sensor, "sample_pressure", function() {return 0});
// Never gets this far
console.log(stub_sens.sample_pressure());
这里是的jsfiddle(http://jsfiddle.net/pebreo/wyg5f/5/)用于上面的代码,和所述的jsfiddle为SO问题,我提到(http://jsfiddle.net/pebreo/9mK5d/1/)。
我确保将sinon包含在jsFiddle和jQuery 1.9中的外部资源中。我究竟做错了什么?
2017年,这已被弃用。您现在应该使用callsFake - 请参阅下面的答案。 – danday74
弃用哪件东西? – loganfsmyth
sinon.stub(Sensor,“sample_pressure”,function(){return 0}) – danday74