gpt4 book ai didi

ajax - 如何使用 Jasmine BDD 为 ajax 函数创建 stub

转载 作者:行者123 更新时间:2023-12-05 01:29:00 26 4
gpt4 key购买 nike

我正在努力寻找有关如何使用 Jasmine BDD 伪造 ajax 调用的任何示例?

我有一个自定义的 ajax 函数,它的工作原理是这样的......

ajax({
url: 'JSON.php',
dataType: 'json',
onSuccess: function(resp) {
console.log(resp);
}
});

...我不知道如何创建一个 stub 来假调用实际的 ajax 函数。

我想避免调用 ajax 函数,因为如果对服务器的真正 ajax 调用需要一些时间来响应并且我的测试套件中有大量规范,它可能会减慢我的测试套件的速度。

我听说你可以使用 spyOn(namespace, 'ajax')但这很烦人,因为它需要我包装我的 ajax对象中的函数只是为了使用 spyOn函数(但无论如何我无法跟上,因为我找不到任何特定的示例来伪造 ajax 调用)。

我也听说你可以使用 createSpy()但同样,文档不是很有帮助(GitHub 上的相应 wiki 也不是)。

任何解释如何使用 spy 来创建假 ajax 调用的帮助将不胜感激!

最佳答案

您可以使用 SinonJS 模拟框架,该框架在 fake server 中构建。 .您可以轻松地将它与 Jasmine 一起使用:

beforeEach(function() {
server = sinon.fakeServer.create();
server.respondWith([200, { "Content-Type": "text/html", "Content-Length": 2 }, "OK"])
});

顺便提一句。如果您的 ajax 函数在全局命名空间中,为什么不调用 spyOn(window, 'ajax')

关于ajax - 如何使用 Jasmine BDD 为 ajax 函数创建 stub ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8884060/

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