Ich versuche, eine Methode sinon.js Stub, aber ich erhalte den folgenden Fehler:Stubbing eine Klassenmethode mit Sinon.js
Uncaught TypeError: Attempted to wrap undefined property sample_pressure as function
ich auch auf diese Frage ging (Stubbing and/or mocking a class in sinon.js?) und kopiert und habe den Code eingefügt, aber ich bekomme den gleichen Fehler.
Hier ist mein Code:
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());
Hier ist die jsFiddle (http://jsfiddle.net/pebreo/wyg5f/5/) für den obigen Code und die jsFiddle für die SO Frage, die ich erwähnt (http://jsfiddle.net/pebreo/9mK5d/1/).
Ich habe sicher Sinon in die Externe Ressourcen in jsFiddle und sogar jQuery 1.9 enthalten. Was mache ich falsch?
Im Jahr 2017 ist dies veraltet. Sie sollten jetzt CallsFake verwenden - siehe meine Antwort unten. – danday74
Welches Ding ist veraltet? – loganfsmyth
sinon.stub (Sensor, "sample_pressure", function() {return 0}) – danday74