gpt4 book ai didi

testing - Coffeescript 测试捕获 ajax 调用

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

我正在尝试测试 coffeescript 类,但我遇到了 ajax 调用问题。例如在咖啡中,我使用 $.getJSON 从服务器获取一些数据。我怎样才能在我的测试中捕获这个请求或重定向到某个假服务器?我读过一些关于 sinon fakeServer 的东西,我尝试过这样的事情:

describe "TestClass", ->
describe "#run", ->
beforeEach ->
url = "/someUrl'
@server = sinon.fakeServer.create()

$ =>
@server.respondWith("GET", url,
[200, {"Content-Type": "application/json"},
'{}'])

@entriesDownloader = new TestClass().run()

但它不起作用。在方法运行中,我使用 jquery 调用 API。如何捕获此请求并返回一些模拟。感谢您的所有回答。

最佳答案

您可以只 stub $.getJSON 方法而不需要假服务器。例如:

sinon.stub($, 'getJSON').yields({ prop: 'val' });

或者,如果您只想对某些 url 的行为进行 stub :

sinon.stub($, 'getJSON').withArgs('/someUrl').yields({ prop: 'val' });

可以使用$.getJSON.restore()随时恢复该方法

关于testing - Coffeescript 测试捕获 ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23660667/

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