You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行forge test -m命令报错,如何正确运行指定Solidity测试?

问题解答

1. 正确编译运行指定测试用例的方法

在Foundry环境中,单独运行指定测试用例有以下几种可靠方式:

  • 使用完整参数--match-test指定目标测试函数名:
    forge test --match-test testFundUpdatesFundedDataStructure
    
  • 若你的Foundry版本为较新的稳定版,可使用-m作为--match-test的缩写:
    forge test -m testFundUpdatesFundedDataStructure
    
  • 如需更精确的匹配(比如区分同名测试函数),可以加上测试合约名:
    forge test --match-test "你的测试合约名::testFundUpdatesFundedDataStructure"
    

2. 报错原因及遗漏点

你遇到的unexpected argument '-m' found错误,主要是以下两种情况导致:

  • Foundry版本过旧:早期版本的Foundry并未给--match-test参数提供-m缩写,此时只能使用完整参数调用。
  • 参数混淆:可能混淆了其他测试工具的参数规则,但Foundry中指定测试用例的核心参数是--match-test,-m是后续版本新增的缩写。

建议的解决步骤:

  • 先尝试使用完整的--match-test参数执行命令,验证是否能正常运行目标测试用例。
  • 若想使用-m缩写,执行foundryup命令升级Foundry到最新稳定版,升级后即可支持该缩写参数。

内容的提问来源于stack exchange,提问作者JhiNResH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 13:12:08