【问题标题】:Tests slow when using jest with web3 and ganache将 jest 与 web3 和 ganache 一起使用时测试很慢
【发布时间】:2020-09-04 04:13:24
【问题描述】:

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

jest 的测试非常慢,如果直接运行它而不用 jest 需要 10 秒,则需要 1 分钟以上。我创建了一个新的干净项目来隔离这个测试,它是项目中唯一的测试。

我按照开玩笑的troubleshooting 指南尝试了所有与性能相关的技巧,例如--runInBand,但效果微乎其微。

【问题讨论】:

标签: javascript jestjs ethereum web3 ganache


【解决方案1】:

Jest 在 VM 中运行,这使得加密计算非常缓慢。由于 web3 包含大量加密计算、签名等,因此这种开销会扼杀测试。

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

"extraGlobals": ["Math"]

欲了解更多信息,请参阅https://jestjs.io/docs/en/configuration#extraglobals-arraystring

【讨论】:

    猜你喜欢
    • 2018-03-22
    • 2015-12-30
    • 1970-01-01
    • 2021-10-27
    • 2023-03-18
    • 2019-05-25
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多