Skip to content

命令行界面

基本用法

bash
anvil [options] [filter]

选项说明

短选项长选项说明默认值
---config配置文件路径(YAML格式)-
-d--test-dir测试目录tests
-b--build-dir构建目录(.o 文件位置)build
-j--jobs并行工作线程数CPU 核心数
-o--out报告输出文件路径-
-f--format输出格式junit
-c--no-clean保留生成的 C 文件和测试二进制false
-C--no-check跳过构建目录验证false
-v--version显示版本号-
---coverage启用代码覆盖率收集false
---coverage-format覆盖率输出格式lcov
---coverage-dir覆盖率输出目录coverage
---coverage-exclude排除模式(逗号分隔)-

过滤器格式

使用过滤器可以只运行部分测试:

格式说明示例
<directory>运行目录下所有测试anvil feature-1
<test_file>运行文件中所有测试anvil test_math
<test_file>/<function>运行指定测试函数anvil test_math/test_add
<dir>/<test_file>/<function>三段式指定测试anvil core/test_util/test_foo

常用命令示例

运行所有测试

bash
anvil

运行特定目录的测试

bash
anvil feature-1

运行特定测试函数

bash
anvil test_math/test_add

生成 JUnit 报告

bash
anvil -o report.xml

启用代码覆盖率

bash
anvil --coverage

生成 HTML 覆盖率报告

bash
anvil --coverage --coverage-format=html

指定覆盖率输出和排除模式

bash
anvil --coverage --coverage-dir=cov --coverage-exclude="*/tests/*,*/mocks/*"

单线程执行(便于调试)

bash
anvil -j 1

保留生成文件(调试用)

bash
anvil -c test_math

退出码

退出码说明
0所有测试通过
1存在失败的测试
2运行时错误(编译失败等)

日志文件

Anvil 会生成两个日志文件:

文件内容
anvil-compile.log编译阶段的命令和错误输出
anvil-test.log测试执行的详细输出(包括 stdout/stderr)

日志格式示例

=== test_module::test_case_name ===
Status: passed
Duration: 1.234ms
Output:
[debug] initializing...
[debug] test complete

临时文件

目录用途
/tmp/anvil-mocks/Mock 代码生成的 C 源文件
/tmp/anvil-executables/编译后的测试二进制文件
/tmp/anvil-wrappers/测试包装器代码

使用 -c / --no-clean 选项可保留这些文件用于调试。

本页面内容遵循 Luna 软件源代码授权条款 (LSLA) 发布