【问题标题】:Testing Number.prototype with Mocha用 Mocha 测试 Number.prototype
【发布时间】:2015-07-23 06:44:42
【问题描述】:

假设我在 Javascript 的 Number 原型上有一个函数,如下所示:

控制器/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 is not a function

我很确定问题是由 module.exports = Number 部分引起的。 所以基本上我的问题是 - 如何在 Number.prototype 中导出一个函数以使其可如上所述进行测试。

【问题讨论】:

    标签: javascript testing mocha.js chai


    【解决方案1】:

    你的函数叫做adder,所以你应该这样做

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

    代替

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

    【讨论】:

    • 那个“duh”时刻:\接受。
    猜你喜欢
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 2015-07-16
    • 2013-11-08
    • 2018-02-27
    • 2015-05-11
    相关资源
    最近更新 更多