我有一个使用玩笑的端到端测试,该测试通过web3将多个以太坊合约部署到ganache并与之通信。
测试在开玩笑时非常慢,如果直接运行而没有开玩笑,则花费一分钟以上的时间为10秒。我创建了一个新的干净项目来隔离此测试,这是项目中唯一的测试。
我遵循了开玩笑的troubleshooting指南,并尝试了所有与性能相关的技巧,例如--runInBand
,但效果却微不足道。
答案 0 :(得分:0)
玩笑在VM内部运行,这使得加密计算非常缓慢。由于web3繁重的加密计算,签名等工作,因此这种开销扼杀了测试。
解决方案是将以下内容添加到jest配置文件中:
"extraGlobals": ["Math"]
有关更多信息,请参见https://jestjs.io/docs/en/configuration#extraglobals-arraystring