【问题标题】:Please, suggest a library to mock ajax requests in a browser [closed]请建议一个库来在浏览器中模拟 ajax 请求 [关闭]
【发布时间】:2012-02-08 08:36:33
【问题描述】:

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

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

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

  • 完全停止对外部服务的调用;
  • 有条件地模拟它:如果它正常返回,我更喜欢使用实际数据,否则假数据也可以。
  • 自动实现虚假数据:当服务器调用正常返回时,将数据保存在后台,以便在发生错误时用于进一步执行。
  • 能够在传入服务器的数据进入回调之前对其进行预处理也是非常好的。

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

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

【问题讨论】:

    标签: jquery ajax testing mocking stub


    【解决方案1】:

    MockAjax 可能对你有用,看看:

    Mock Your Ajax Requests with Mockjax for Rapid Development

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

            Sinon.js 可以通过它的假XMLHttpRequest 和它的fake server 来做到这一点。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2012-04-11
              • 1970-01-01
              • 2012-05-29
              • 2012-04-14
              • 1970-01-01
              • 2013-03-21
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多