当使用web3和ganache的jest时,测试速度很慢。

问题描述 投票:0回答:1

我有一个使用jest的端到端测试,通过web3将几个Ethereum合约部署到ganache上,并与它们进行通信。

这个测试在jest上的速度非常慢,在没有jest的情况下直接运行需要10秒,需要1分多钟。我新建了一个干净的项目,隔离了这个测试,这是项目中唯一的测试。

我按照jest 排除故障 指南,并尝试了所有与性能相关的提示,如 --runInBand但它们的效果却可以忽略不计。

javascript ethereum jest web3 ganache
1个回答
0
投票

Jest在一个内部运行 虚拟机 这使得加密计算非常慢。由于web3的加密计算、签名等工作量很大,这个开销会杀死测试。

解决方法是在jest配置文件中添加以下内容。

"extraGlobals": ["Math"]

更多信息,请看 https:/jestjs.iodocsenconfiguration#extraglobals-arraystring。

© www.soinside.com 2019 - 2024. All rights reserved.