使用gtest编写的测试案例通常本身就是一个可执行文件,因此运行起来非常方便。同时,gtest也为我们提供了一系列的运行参数(环境变量、命令行参数或代码里指定),使得我们可以对案例的执行进行一些有效的控制。
我这里就直接将所有命令行参数总结和罗列一下。如果想要获得详细的命令行说明,直接运行你的案例,输入命令行参数:/? 或 --help 或 -help
1. 测试案例集合
命令行参数 |
说明 |
--gtest_list_tests |
使用这个参数时,将不会执行里面的测试案例,而是输出一个案例的列表。 |
--gtest_filter |
对执行的测试案例进行过滤,支持通配符 ? 单个字符 * 任意字符 - 排除,如,-a 表示除了a : 取或,如,a:b 表示a或b 比如下面的例子: ./foo_test 没有指定过滤条件,运行所有案例 |
--gtest_also_run_disabled_tests |
执行案例时,同时也执行被置为无效的测试案例。关于设置测试案例无效的方法为:
// Tests that Foo does Abc.
|
--gtest_repeat=[COUNT] |
设置案例重复运行次数,非常棒的功能!比如: --gtest_repeat=1000 重复执行1000次,即使中途出现错误。 |
2. 测试案例输出
命令行参数 |
说明 |
--gtest_color=(yes|no|auto) |
输出命令行时是否使用一些五颜六色的颜色。默认是auto。 |
--gtest_print_time |
输出命令行时是否打印每个测试案例的执行时间。默认是不打印的。 |
--gtest_output=xml[:DIRECTORY_PATH|:FILE_PATH] |
将测试结果输出到一个xml中。 1.--gtest_output=xml: 不指定输出路径时,默认为案例当前路径。 2.--gtest_output=xml:d: 指定输出到某个目录 3.--gtest_output=xml:d:foo.xml 指定输出到d:foo.xml 如果不是指定了特定的文件路径,gtest每次输出的报告不会覆盖,而会以数字后缀的方式创建。xml的输出内容后面介绍吧。 |
3. 对案例的异常处理
命令行参数 |
说明 |
--gtest_break_on_failure |
调试模式下,当案例失败时停止,方便调试 |
--gtest_throw_on_failure |
当案例失败时以C++异常的方式抛出 |
--gtest_catch_exceptions |
是否捕捉异常。gtest默认是不捕捉异常的,因此假如你的测试案例抛了一个异常,很可能会弹出一个对话框,这非常的不友好,同时也阻碍了测试案例的运行。如果想不弹这个框,可以通过设置这个参数来实现。如将--gtest_catch_exceptions设置为一个非零的数。 注意:这个参数只在Windows下有效。 |