【问题标题】:jquery 1.5 mock ajaxjquery 1.5 模拟 ajax
【发布时间】:2012-04-28 07:22:40
【问题描述】:

在 jquery 1.5 中,模拟 ajax 请求的推荐方法是什么?是使用 ajax 扩展传输吗? http://api.jquery.com/extending-ajax/#Transports

【问题讨论】:

标签: jquery ajax unit-testing jquery-1.5


【解决方案1】:

您是否尝试过使用 1.5 更新扩展 $.ajax,并了解是否可以在 jqXHR 上致电 .resolve

只要您不删除.promise 只读延迟对象,您就应该能够伪造ajax 请求的完成。

您也可以随时模拟一个node.js 服务器。

任何你可以挂接并获取jqXHR 对象的地方,你都可以使用模拟参数调用.resolve

【讨论】:

  • 感谢您的想法。您能否分享一些关于使用 node.js 进行模拟的链接或进一步的见解?
  • node.js 窗口需要 cygwin 或 mingw。将看看扩展 jquery ajax 而不是
  • @joshjdevl 你可以使用 php、perl 或任何你想模拟假返回的 ajax 请求的网络服务器后端。如果你设置了 IIS,你甚至可以启动一个 ASP.NET 项目。阅读 jQuery 中的 $.ajax 测试以了解它们的作用。
【解决方案2】:

我也有类似的问题:

How to test jquery and ajax calls using JsTestDriver?

我找到了解决方案,也许还有其他更好的解决方案,但它适用于我们的 JsTestDriver 测试。

【讨论】:

    【解决方案3】:

    我已经为 jQuery AJAX 创建了 mock,并且我使用了 jQuery 1.5+ 提供的三个扩展点(prefitler、transport 和转换器)。请检查一下

    https://github.com/fredyang/ajaxMock

    详细使用请查看测试用例,所有测试用例都通过了,它们只是关于如何使用它的活文档。

    这里是测试用例的url

    https://github.com/fredyang/ajaxMock/blob/master/test/test.js

    这是运行测试用例的链接

    http://code.semanticsworks.com/ajaxMock/test/index.html

    这是模拟的链接

    http://code.semanticsworks.com/ajaxMock/src/ajaxMock.js

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-16
      • 2016-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多