sinon fake xhr server 和 polymer appLocalizeBehavior locales

sinon fake xhr server and polymer appLocalizeBehavior locales

我正在使用 Polymer 开发 Web 前端。我有一个使用其他网络组件的网络组件,例如纸张输入或一些自定义网络组件。出于演示目的,我使用 sinon fake xhr 服务器来模拟一些 elasticsearch 请求,这非常适合测试。 在网络组件中,我使用聚合物 appLocalizeBehavior 从 json 文件加载一些语言环境。 AppLocalizeBehavior 使用 iron-request 通过 url 加载文件。我将 sinon 配置为过滤并排除所有 url,包括 "locales.json",如下所示:

this._server = sinon.fakeServer.create();
this._server.autoRespond = true;
this._server.xhr.useFilters = true;
this._server.xhr.addFilter(function(method, url) {
    return url.includes("locales.json");
});

如果我禁用 xhr 假服务器,所有组件的语言环境都会正确加载。但是,如果我启用 sinon,似乎正在加载语言环境,但 sinon 不知何故 returns 它们的编码错误。

有人面临类似的问题吗?

有一个待处理的拉取请求来解决此问题:https://github.com/sinonjs/nise/pull/45

如果你想在本地解决它,那么在你的 sinon.js 文件中,从你的 bower_components 文件夹中,你必须替换这行代码:

copyAttrs(["responseText", "response"]);

这个:

copyAttrs(["responseText", "response", "responseType"]);