javascript 在web3和ganache中使用jest时测试速度变慢

js5cn81o  于 2023-01-07  发布在  Java
关注(0)|答案(1)|浏览(163)

我有一个使用jest的端到端测试,它通过web3将几个以太坊契约部署到ganache并与它们通信。
这个测试在jest上非常慢,在没有jest的情况下直接运行它需要10秒,需要一分钟以上。我创建了一个新的干净的项目来隔离这个测试,它是项目中唯一的测试。
我遵循了jest troubleshooting指南,尝试了所有与性能相关的技巧,如--runInBand,但它们的效果微不足道。

2w2cym1i

2w2cym1i1#

Jest运行在VM中,这使得加密计算非常慢,由于web3有大量的加密计算、签名等,这些开销会扼杀测试。
解决方案是将以下内容添加到jest配置文件中:

"extraGlobals": ["Math"]

有关详细信息,请访问https://jestjs.io/docs/en/configuration#extraglobals-arraystring

相关问题