我正在使用 Polymer 开发一个 Web 前端。我有一个使用其他 Web 组件的 Web 组件,例如纸张输入或一些自定义 Web 组件。出于演示目的,我使用 sinon fake xhr 服务器来模拟一些 elasticsearch 请求,这非常适合测试。 在 Web 组件中,我使用 polymer appLocalizeBehavior 从 json 文件加载一些语言环境。 AppLocalizeBehavior 使用iron-request 通过 url 加载文件。我将 sinon 配置为过滤并排除包括“locales.json”在内的所有 url,如下所示:
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 fake 服务器,所有组件的语言环境都会正确加载。但如果我启用 sinon ,似乎正在加载语言环境,但 sinon 不知何故以错误的编码返回它们。
有人面临类似的问题吗?
最佳答案
有一个正在等待解决此问题的拉取请求:https://github.com/sinonjs/nise/pull/45
如果您想在本地解决该问题,则必须在 Bower_components 文件夹中的 sinon.js 文件中替换以下代码行:
copyAttrs(["responseText", "response"]);
这个:
copyAttrs(["responseText", "response", "responseType"]);
关于javascript - sinon 假 xhr 服务器和 polymer appLocalizeBehavior 语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48075333/