ich Unit-Tests bin sehr neu, so wenden Sie sich bitte mich durch die folgende: Ich habe zu Unit-Test versuche die folgende Funktion ...Einheit testting mit sinon + Spott + chai in node.js
helpers.js
function helpers() {
}
helpers.prototype.Amount = function(callback){
var Amount = 0;
app.models.xxx.find({}, function(err, res) {
if(err){
} else {
for(var i=0; i < res.length; i++){
Amount = Amount + res[i].hhhh;
}
return callback(null,Amount);
}
});
}
module.exports.helpers = helpers;
Helfer-test.js
describe('helper', function(){
var AmountStub = sinon.stub(Helper.protoype,"getAmount");
it('should return the amount', function(done){
var helper = new Helper();
helper.getAmount(function(err, res){
assert.ifError(err);
});
done();
});
});
Aber ich folgende Fehlermeldung erhalte:
/node_modules/sinon/lib/sinon/util/core.js:67
throw new TypeError("Should wrap property of object");
^
TypeError: Should wrap property of object
Bitte führen Sie mich durch diese. Auch die Art, wie ich es mache, ist richtig? Vielen Dank im Voraus ..
EDIT:
var Helper = require("../../server/helpers").helpers;
var helper = sinon.stub(
new Helper(),
"getAmount",
function (callback) { callback(1000); }
);
helper.getAmount(
function (value) {
expect(value).to.be.equal(1000);
done();
});
});
Ist der Name der Eigenschaft Betrag oder getAmount? –
Versuchen Sie, das Objekt zu drucken. console.log ((neuer Helfer()). getAmount). Sehen Sie, ob es diese Funktion überhaupt hat. –
Sind Sie sicher, dass Ihr Code genau so ist, wie ich ihn geschrieben habe? –