gpt4 book ai didi

javascript - 如何在 Jasmine 中测试函数表达式

转载 作者:行者123 更新时间:2023-11-28 21:25:57 25 4
gpt4 key购买 nike

我正在学习 Jasmine 。尝试测试以下代码。

不确定如何在 jasmine 中创建 personModule 对象以及如何使用和测试它。任何帮助都会很棒。

window.onload = function () {
var module = personModule;
module.init();
}

var personModule = (function (module) {
module.getName = function () {
alert("my name" + "is Xyz");
}

module.init = function () {
alert("in init");
}
return module;
})(personModule||{});

谁能帮我解决这个问题

谢谢

最佳答案

我认为您的代码中没有任何特定于 jasmine 的内容。它是 JS 中的常规函数​​。

此外,您的方法没有任何要测试的内容,因为您只有函数内部的警报。

您可能想测试您的 getName 是否返回了一些东西。喜欢

getName: function(){
return "some name";
}

然后你就可以断言和测试了。

assert(getName()).toBe("some name");

在您的代码中,我认为您不需要将 IIFE 与 personModule || 一起使用{}

您可以像下面这样重构您的代码,使其成为可测试的模块。

window.onload = function() {
personModule.init();
}

var personModule = (function() {
var module = {};
module.getName = function() {
return "my name is Xyz";
}

module.init = function() {
alert("in init");
return true;
}
return module;
})();

您可以按如下方式进行 jasmine 测试。

describe("Test Person Module", function() {
it("Name to return default value", function() {
expect(personModule.getName()).toBe("my name is Xyz");
});

it("Init to be Succesful", function() {
expect(personModule.init()).toBe(true);
});
});

关于javascript - 如何在 Jasmine 中测试函数表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40686600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com