javascript - 如何将sinon js注入(inject)到iFrame中的应用程序

标签 javascript ajax html iframe sinon

我想在我的应用程序中测试 ajax 请求。

应用程序在 iFrame 中运行,我希望 iframe 的包装器页面将使用 sinon 测试应用程序(包装器将发送响应)。

我尝试将 sinon 的假服务器 (sinon.fakeserver.create()) 放入测试的应用程序中的 window's 对象中,但是当将响应发送到ajax调用,没有成功。

希望这个想法清晰易懂。

感谢您的帮助,

最佳答案

这很容易。

一旦调用sinon.fakeserver.createwindow.XmlHttpRequest将被sinon对象替换。

例如,您可以分配并覆盖目标窗口对象

var server=sinon.fakeserver.create(); document.getElementByID("iframe").addEventListener("load", function(){ document.getElementByID("iframe").contentWindow.XMLHttpRequest=window.XMLHttpRequest; });

关于javascript - 如何将sinon js注入(inject)到iFrame中的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44799939/

相关文章:

javascript - 检查 Node.js 中 json 对象是否未定义

python - Internet Explorer 8 中提示文件下载时原型(prototype) Ajax.Request 出现问题

javascript - 为什么我的ajax某些东西会回调到错误

html - 从切换按钮中删除 javascript

javascript - 覆盖内容周围的可点击区域

asp.net - 如何判断 JavaScript 文件是否已包含在 ASP.NET 页面中?

javascript - Casperjs Casper错误: Cannot dispatch mousedown event on nonexistent selector:

javascript - jQuery:如果选择了特定的 <select> 选项,则显示一个 div?

javascript - 本地和生产环境中 Node 的行为

javascript - 由ajax调用加载的页面中文本框上的Jquery按键事件