请建议一个库在浏览器中模拟ajax请求

时间:2012-02-08 08:36:33

标签: jquery ajax testing mocking stub

我最近遇到了Ajax的问题​​。我正在开发一个大型应用程序的前端,在某些时候它会调用另一个团队正在开发的服务。他们有一些硬性能问题,虽然他们正在做的最好是保持稳定有时AJAX呼叫超时或返回错误。

同时,当我在客户端工作时,我需要以某种方式模拟此服务。我可以用一些假数据替换回调函数,我想知道是否有更优雅的方法来解决这个问题。

我希望能够做到以下几点:

  • 完全保留对外部服务的呼叫;
  • 有条件地模仿它:如果它正常返回我更喜欢使用实际数据,否则假数据就好了。
  • 自动实现假数据:当服务器调用正常返回时,将数据保存在幕后,以便在出现错误时可以用于进一步执行。
  • 能够在进入回调之前预先处理进入服务器的数据也很不错。

我当然可以自己写这样的东西,但我很确定有人已经解决了这个问题。

我正在使用jQuery进行AJAX调用,因此特定于jQuery的解决方案也可以正常工作。

5 个答案:

答案 0 :(得分:5)

MockAjax 可能对您有用,请看一下:

Mock Your Ajax Requests with Mockjax for Rapid Development

答案 1 :(得分:2)

Deflect.io允许您无缝记录然后重播浏览器发出的请求,并根据需要编辑响应。所有这一切都没有改变一行源代码。

免责声明:我写了Deflect.io O:)

答案 2 :(得分:1)

嗯,为此,我一直在研究测试框架,例如QUnit http://docs.jquery.com/QUnit

..也许你可以使用jQuery Mock Ajax? https://github.com/appendto/jquery-mockjax

答案 3 :(得分:1)

这是解决问题的另一种方法。也许您可以使用Fiddler之类的工具来创建对您的请求的自动回复。然后,您可以轻松查看请求并在GUI中定义响应。

答案 4 :(得分:1)

Sinon.js可以通过虚假XMLHttpRequest及其fake server来完成此操作。