gtest各项参数

1、测试部分

1、–gtest_list_tests
列出所有测试的名字而不是运行它们,例如TEST(fun, add)输出就是fun.add

2、–gtest_filter=[positive patterns]
过滤作用,仅仅运行那些名字匹配positive patterns的测试,类似于正则表达式,?匹配任意字符,*匹配任意子串,:分隔两个pattern

3、–gtest_also_run_disabled_tests
也一并运行所有disable的tests

2、测试执行

1、–gtest_repeat=[count]
反复运行tests,如果count为负数,则repeat forever

2、–gtest_shuffle
测试可以按任意顺序执行

3、–gtest_random_seed=[number]
随机种子为shuffle服务

3、测试输出

1、–gtest_color=[yes|no|auto]
颜色设置

2、–gtest_print_time=0
不输出每一项测试的时间

3、–gtest_output=xml
测试结果输出为xml文件

4、断言行为

1、–gtest_break_on_failure
在assertion失败处加上debug断点

2、–gtest_throw_on_failure
在assertion失败处抛出C++异常

3、–gtest_catch_exceptions=0

### 如何在 GTest 中传递和解析命令行参数 GTest 支持通过 `main` 函数接收并处理命令行参数。具体实现方式是在程序入口处调用 `testing::InitGoogleTest(&argc, argv)` 来初始化 Google Test 并解析命令行参数[^1]。 #### 初始化与解析命令行参数 当编写测试代码时,通常会在 `main` 函数中加入如下代码: ```cpp int _tmain(int argc, _TCHAR* argv[]) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } ``` 这段代码的作用是将命令行参数交给 GTest 进行解析,从而允许用户通过命令行控制测试行为,比如指定运行哪些测试用例、过滤特定条件下的测试等。 #### 使用自定义命令行标志 除了默认支持的选项外,还可以扩展 GTest 的功能来自定义命令行标志。为了添加新的命令行参数,可以利用 `gflags` 库或者其他类似的工具来增强灵活性。不过对于简单的场景来说,直接修改现有配置可能已经足够满足需求。 #### 编译带有命令行参数支持的测试程序 要创建一个能够接受命令行输入的可执行文件用于测试目的,则需按照以下方式进行编译链接操作: ```bash g++ gtest.cpp -Llib/gtest -Iinclude -lgtest -pthread ``` 此指令会把源文件以及必要的库打包在一起形成最终产物,确保其具备解析命令行的能力[^2]。 #### 实际应用场景中的注意事项 值得注意的是,在某些特殊情况下(例如跨平台开发),可能会遇到不同操作系统间兼容性差异的问题。例如正则表达式的匹配模式仅限于 Linux 系统有效;而在 Windows 上应考虑提供替代方案或适当调整预期结果[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值