使用Mocha测试Number.prototype

时间:2015-07-22 22:28:20

标签: javascript testing mocha chai

假设我在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中导出一个函数,使其可以像上面一样进行测试。

1 个答案:

答案 0 :(得分:1)

您的功能称为加法器,因此您应该

expect(one.adder(5)).to.equal(9);

而不是

expect(one.CustomAdder(5)).to.equal(9);