• gtest命令行测试案例


      使用gtest编写的测试案例通常本身就是一个可执行文件,因此运行起来非常方便。同时,gtest也为我们提供了一系列的运行参数(环境变量、命令行参数或代码里指定),使得我们可以对案例的执行进行一些有效的控制。

      我这里就直接将所有命令行参数总结和罗列一下。如果想要获得详细的命令行说明,直接运行你的案例,输入命令行参数:/? 或 --help 或 -help

    1. 测试案例集合

    命令行参数

    说明

    --gtest_list_tests

    使用这个参数时,将不会执行里面的测试案例,而是输出一个案例的列表。

    --gtest_filter

    对执行的测试案例进行过滤,支持通配符

    ?    单个字符

    *    任意字符

    -    排除,如,-a 表示除了a

    :    取或,如,a:b 表示a或b

    比如下面的例子:

    ./foo_test 没有指定过滤条件,运行所有案例
    ./foo_test --gtest_filter=* 使用通配符*,表示运行所有案例
    ./foo_test --gtest_filter=FooTest.* 运行所有“测试案例名称(testcase_name)”为FooTest的案例
    ./foo_test --gtest_filter=*Null*:*Constructor* 运行所有“测试案例名称(testcase_name)”或“测试名称(test_name)”包含Null或Constructor的案例。
    ./foo_test --gtest_filter=-*DeathTest.* 运行所有非死亡测试案例。
    ./foo_test --gtest_filter=FooTest.*-FooTest.Bar 运行所有“测试案例名称(testcase_name)”为FooTest的案例,但是除了FooTest.Bar这个案例

    --gtest_also_run_disabled_tests

    执行案例时,同时也执行被置为无效的测试案例。关于设置测试案例无效的方法为:

    在测试案例名称或测试名称中添加DISABLED前缀,比如:

     

    // Tests that Foo does Abc.
    TEST(FooTest, DISABLED_DoesAbc) {  }

    class DISABLED_BarTest : public testing::Test {  };

    // Tests that Bar does Xyz.
    TEST_F(DISABLED_BarTest, DoesXyz) {  }

     

    --gtest_repeat=[COUNT]

    设置案例重复运行次数,非常棒的功能!比如:

    --gtest_repeat=1000      重复执行1000次,即使中途出现错误。
    --gtest_repeat=-1          无限次数执行。。。。
    --gtest_repeat=1000 --gtest_break_on_failure     重复执行1000次,并且在第一个错误发生时立即停止。这个功能对调试非常有用。
    --gtest_repeat=1000 --gtest_filter=FooBar     重复执行1000次测试案例名称为FooBar的案例。

     

    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下有效。

  • 相关阅读:
    全网最全微服务架构—Spring Cloud详解,没有比这更详细的了!
    基于 Spring Cloud 的微服务架构实践指南(上)
    如何在一分钟内搞定面试官?
    成功面试宝典Java
    Spring Boot 自动装配流程
    C语言浮点数
    C语言字符串
    C语言数据类型转换
    C语言结构体
    C语言格式化输出
  • 原文地址:https://www.cnblogs.com/xmilt/p/9647408.html
Copyright © 2020-2023  润新知