我正在设置使用 Jasmine 和 Karma 来测试我的 JavaScript 的测试。Karma 在 Node.js 中运行并启动 Chrome 浏览器。
我不断收到错误“Chrome 28.0 (Windows) ERROR Script error. at :0” 在跟踪事情后,我意识到我在代码中创建的一些对象会进行 AJAX 跨域 AJAX 调用,当他们这样做时,我的 Karma 测试碰撞。
我不需要这些 AJAX 调用来让我的测试成功,但是我希望它们不会使我的 Karma 测试崩溃。
我愿意以多种方式解决这个问题。我可以更改我的 Karma/Chrome 设置以使 AJAX 不会发生灾难性故障吗?我可以覆盖 XMLHttpRequest 以便不发出违规请求或不发出请求吗?
注意:测试在调试窗口中不会失败,即使它也在发出跨域 AJAX 请求。
我正在使用一个覆盖 jQuery 的 AJAX 的测试库。但是,我有另一个库仍在发出 AJAX 请求。