Javascript Set.filter在Jest测试中工作

Javascript Set.filter在Jest测试中工作,javascript,node.js,jestjs,Javascript,Node.js,Jestjs,考虑以下脚本: const mySet = new Set([1, 2, 3]); mySet.filter(i => i < 3); constmyset=新集合([1,2,3]); mySet.filter(i=>i

考虑以下脚本:

const mySet = new Set([1, 2, 3]);
mySet.filter(i => i < 3);
constmyset=新集合([1,2,3]);
mySet.filter(i=>i<3);
在浏览器中,此代码抛出mySet.filter不是函数错误

然而,当这段代码在Jest测试中运行时,它是有效的

有人知道为什么会发生这种情况吗?如果我想让我的测试检测到这个bug,我应该怎么做

编辑: 我知道如何修复代码,使其不会抛出错误。我的问题是如何对该代码进行测试抛出并失败


谢谢

设置方法上没有过滤器:

为什么不使用数组呢

对于第二个问题,开玩笑的是,只需检查过滤器的策略是什么/为什么,然后将其删除


然后它也会失败。

因此,我终于能够跟踪polyfill。它来自正在运行的核心js模块。现在,我只需要找到一种全局覆盖它的方法。

您是否有一个polyfill来覆盖它,或者是其他人在为您覆盖它?这在节点中吗?您可以执行
console.log(Set.prototype.filter)
查看其来源打印[Function:filter]是的,它是节点。我不知道多边形填充物在哪里:(试着看看你的依赖性这里只有一个问题:为什么测试不会失败:)我不知道多边形填充物在哪里。这就是问题所在。。。