与Web3和Ganache一起使用Jest时测试速度很慢

时间:2020-05-18 11:13:35

标签: javascript jestjs ethereum web3 ganache

我有一个使用玩笑的端到端测试,该测试通过web3将多个以太坊合约部署到ganache并与之通信。

测试在开玩笑时非常慢,如果直接运行而没有开玩笑,则花费一分钟以上的时间为10秒。我创建了一个新的干净项目来隔离此测试,这是项目中唯一的测试。

我遵循了开玩笑的troubleshooting指南,并尝试了所有与性能相关的技巧,例如--runInBand,但效果却微不足道。

1 个答案:

答案 0 :(得分:0)

玩笑在VM内部运行,这使得加密计算非常缓慢。由于web3繁重的加密计算,签名等工作,因此这种开销扼杀了测试。

解决方案是将以下内容添加到jest配置文件中:

"extraGlobals": ["Math"]

有关更多信息,请参见https://jestjs.io/docs/en/configuration#extraglobals-arraystring