假设我在Javascript的Number原型上有一个函数,如下所示:
controllers / index.js
Number.prototype.adder = function(num) {
return this+num;
}
module.exports = Number;
然而,以下Mocha / Chai测试失败
var expect= require("chai").expect;
var CustomAdder= require("../controller/index.js");
describe("adder", function () {
var one= 4;
var two= 5;
it("should add 4 and 5 to 9", function(done){
expect(one.CustomAdder(5)).to.equal(9);
done();
});
it("should not add 5 and 6 to 11", function(done){
expect(two.CustomAdder(6)).to.not.equal(12);
done();
});
});
错误:TypeError:undefined不是函数
我很确定问题是由module.exports = Number部分引起的。 所以基本上我的问题是 - 如何在Number.prototype中导出一个函数,使其可以像上面一样进行测试。
答案 0 :(得分:1)
您的功能称为加法器,因此您应该
expect(one.adder(5)).to.equal(9);
而不是
expect(one.CustomAdder(5)).to.equal(9);