【问题标题】:Can't Call Javascript Function in Jasmine无法在 Jasmine 中调用 Javascript 函数
【发布时间】:2015-04-04 17:49:23
【问题描述】:

我是第一次接触 Javascript。我正在尝试使用 Jasmine 来测试对象及其方法。我有以下代码:

function Monkey(x, y) {
    this.x = x;
    this.y = y;

    this.goteam = new function () {
        return x;
    };
}

describe("Cool", function () {
    it("should work", function () {
        var monkey = new Monkey(1, 2);
        var value = monkey.goteam();
        expect(value).toBe(1);
    });
});

测试 Cool it should work 给了我“[object Object] is not a function on line value = monkey.goteam(); 我花了一个小时阅读教程和搜索,但无论如何我都干了尝试。非常感谢任何帮助。

【问题讨论】:

  • goteam 应该只是一个函数,而不是new function() ... 专业提示:在编写测试之前在控制台中尝试一下;它排除了一整类问题。创建一个new Monkey(...) 并查看它会帮助您了解情况。

标签: javascript function oop jasmine


【解决方案1】:

this.goTeam 应声明为 function,而不是 new functionnew 关键字在这里不是必需的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多