Gruntjs Sinon TypeError:&x27;[对象ProgressEventConstructor]';在Karma/SauceLabs测试中

Gruntjs Sinon TypeError:&x27;[对象ProgressEventConstructor]';在Karma/SauceLabs测试中,gruntjs,karma-runner,travis-ci,sinon,saucelabs,Gruntjs,Karma Runner,Travis Ci,Sinon,Saucelabs,我正在迁移一个框架规范来运行Karma/Jasmin/Grunt和Travis/SauceLabs 在运行这些规范时,我在一些浏览器的所有Ajax规范中都会遇到错误 PhantomJS/Opera/Chrome&&FF均为绿色。没有错误 Safari在Sinon.js的所有13个规范中都给出了相同的错误: TypeError: '[object ProgressEventConstructor]' is not a constructor (evaluating 'new Progre

我正在迁移一个框架规范来运行Karma/Jasmin/Grunt和Travis/SauceLabs

在运行这些规范时,我在一些浏览器的所有Ajax规范中都会遇到错误

PhantomJS/Opera/Chrome&&FF均为绿色。没有错误

Safari在Sinon.js的所有13个规范中都给出了相同的错误:

TypeError: '[object ProgressEventConstructor]' is not a constructor 
    (evaluating 'new ProgressEvent("progress", {loaded: 100, total: 100})')
在IE中,我得到了另一个相同错误的文本:

TypeError: Object doesn't support this action

知道我可能遗漏了什么吗?

西农似乎正在检查以下内容

var supportsProgress = typeof ProgressEvent !== "undefined";
我认为有些浏览器会为ProgressEvent返回一个空对象,而不是未定义的对象,这会导致此检查失败

我已经手动更改了代码,因为我不关心ProgressEvent(这很容易,但对于CI来说并不实用)。我正在考虑在测试中更改supportsProgress的值,以完全避免这个问题

更新 这发生在我身上,因为我在测试中使用了旧版本的SinonJS。它的FakeXMLHttpRequest对象导致在readyState更新过程中创建ProgressEvent

我和SinonJS的人谈过了。他们建议使用1.9.0版。
这似乎解决了我的所有问题:)

更新Sinon.js版本后得到修复

在新版本还没有发布的那一刻,加上我将sinon IE投入其中。所以如果有人需要的话