https://developer.mozilla.org/en-US/docs/Web/API/Window.getSelection
即使是不起作用的垫片也会有很长的路要走。 目前我只做以下事情:
window.document.getSelection = function() { return { addRange: function() {}, 移除AllRanges:function () { } } };
只是为了避免在运行 getSelection() 时出现“无法调用未定义”。
我们并不是真正从事非功能性垫片的业务,但欢迎您将其添加到您自己的 jsdom 窗口中。
关于如何将其融入 Jest 如何使用 jsdom 的任何想法?
我自己不确定; @Sebmaster对 jest 更熟悉一些,但我认为 Jest 问题跟踪器将是您最好的选择。
@domenic谢谢,通过在 Jest 助手中添加@tolmasky的代码版本得到了我需要的垫片:
// spec/javascripts/helpers/jest-env.js
// window.getSelection isn't in jsdom
// https://github.com/tmpvar/jsdom/issues/937
window.getSelection = function() {
return {
addRange: function() {},
removeAllRanges:function() {}
};
};
并通过 Jest 的config.setupEnvScriptFile链接到上述文件。
最有用的评论
@domenic谢谢,通过在 Jest 助手中添加@tolmasky的代码版本得到了我需要的垫片:
并通过 Jest 的config.setupEnvScriptFile链接到上述文件。