forge_test
Run Foundry tests in isolated Docker containers with automatic dependency installation and cleanup. Ensures a fresh environment for each test run.
Instructions
在 Docker 容器中运行 forge test 命令。每次测试时创建新容器,测试完成后自动清理,确保全新环境。运行测试前会根据依赖清单文件自动安装依赖。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| extraArgs | No | 额外的 forge test 参数 | |
| enablePrune | No | 是否在测试完成后执行 docker system prune -f,默认为 false(安全模式) | |
| projectRoot | Yes | 项目根路径(绝对路径),用于 Docker 挂载。例如 '/path/to/project' | |
| testFolderPath | Yes | 测试合约文件夹路径(相对项目根路径)。例如 'test' 或 'test/unit'。如果路径以 .sol 结尾,则直接使用该路径;否则会自动匹配该文件夹下的所有 .t.sol 文件。 | |
| dependenciesManifestPath | Yes | 依赖项清单文件路径(相对项目根路径)。文件格式为 JSON 对象,例如 'dependencies.json'。支持两种格式:1) 数组格式(不带版本号):["package-name"] - 使用最新版本;2) 对象格式(带版本号):{"package-name": "version"} - 指定版本。内容示例:{ "forge": ["foundry-rs/forge-std"], "npm": {"@openzeppelin/contracts": "^5.0.2"}, "yarn": ["@chainlink/contracts"] }。forge、npm 和 yarn 字段都是可选的,但至少需要提供一个字段。每个字段可以独立选择使用数组或对象格式。 |