assumeNoRevert
签名
function assumeNoRevert() external;
描述
如果下一个调用发生回退,模糊测试器将丢弃当前的模糊输入并开始新的模糊运行。
如果达到最大拒绝次数,测试可能会失败。
你可以通过在 foundry.toml
文件中设置 [fuzz.max_test_rejects
][max-test-rejects] 来配置拒绝阈值。
示例
对于需要在特定范围内的金额的函数:
function doSomething(uint256 amount) public {
require(amount > 100 ether && amount < 1_000 ether);
}
回退被丢弃,导致测试通过(如果达到最大拒绝次数则失败):
function testSomething(uint256 amount) public {
vm.assumeNoRevert();
target.doSomething(amount);
// [PASS]
}