最佳答案
我尝试使用 sinon.js 来存根一个方法,但是我得到了以下错误:
Uncaught TypeError: Attempted to wrap undefined property sample_pressure as function
我也去这个问题(在 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/) ,以及用于我提到的 SO 问题的 jsFiddle (http://jsfiddle.net/pebreo/9mK5d/1/)。
我确保在 jsFiddle 甚至 jQuery 1.9中的 外部资源中包含了 sinon?