Foundry 高级作弊码系列:第 5 部分 - 作弊码 vm.deal,为账户充值

本文介绍了Foundry的作弊码vm.deal,它可以直接向任何账户注入ETH,无需水龙头或转账,方便开发者模拟拥有大量ETH的用户进行测试,例如支付gas或测试可支付流程。通过vm.deal,开发者可以更专注于测试逻辑,而无需手动进行账户充值。

Image

高级 Foundry 作弊码系列:第 5 部分 - 作弊码 vm.deal,为账户提供资金。

厌倦了编写水龙头来测试 ETH 流动? vm.deal 是你的作弊码,可以直接将 ETH 铸造到任何账户中。没有转账或延迟。像鲸鱼一样进行测试。🐋

介绍

第 4 部分中学习了如何弯曲时间

in Part 4

之后,铸造一些以太币也是理所当然的。本章展示了 vm.deal

如何立即为任何地址充值,无需水龙头,无需转账,因此你可以模拟富有的用户,支付 gas,或者以零摩擦测试可支付的流程。

在测试中,你经常需要一个拥有 ETH 的账户(例如,支付 gas 或进行可支付的调用)。

vm.deal(address who, uint256 newBalance)

作弊码简单地将 who 的 Ether 余额设置为 newBalance。例如:

Image

这里 vm.deal

(rich, 10 ether) 在测试操作之前向 rich 铸造了 10 ETH。Foundry 作弊码文档解释说,它“将地址 who 的余额设置为 newBalance”。它甚至支持代币:一个变体允许你设置 ERC20 余额,并在需要时调整总供应量。

这比从主网账户转账或在测试中编写水龙头要简单得多。它非常适合测试需要调用者拥有特定余额的合约。例如,如果合约需要存款,你可以将那么多 ETH 提供给测试用户并继续。

总而言之,vm.deal

消除了在测试中设置账户余额时的摩擦,让你专注于被测试的逻辑,而不是手动为账户提供资金。

如果你喜欢这类内容,请在 Twitter 上关注 @threesigmaxyz

并浏览我们的 blog

以获取更多关于区块链主题的见解。

明天发布第 6 部分:使用 Forge 进行高级模糊测试

  • 原文链接: x.com/threesigmaxyz/stat...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Three Sigma
Three Sigma
Three Sigma is a blockchain engineering and auditing firm focused on improving Web3 by working closely with projects in the space.