枚举类型的变量和常量可以使用一组专用的 API 宏进行处理。这些宏可以使用枚举标识符而非纯整数值来报告枚举值。以下 API 宏可用于处理枚举值:

  • CPPTEST_REPORT_ENUM(<scoped enum name>, <txt>, <value>)
  • CPPTEST_POST_CONDITION_ENUM(<scoped enum name>, <value string>, <value>)
  • CPPTEST_ASSERT_ENUM_EQUAL(<scoped enum name>, <expected>, <actual>)
  • CPPTEST_ASSERT_ENUM_EQUAL_MESSAGE( <scoped enum name>, <msg>,  <expected>, <actual>)

其中:

  • <scoped enum name> 是枚举的完整名称,包括所有命名空间名称(例如:INNER_NS::MyEnumeration, INNER_NS::MyClass::MyEnumeration)。
  • <value string> 是描述报告值的字符串。
  • <Value> 是整数值或枚举值。
  • <txt> 是描述报告值的字符串。
  • <expected> 是整数值或枚举值。

上面显示的 API 宏要求启用“启用枚举数据自动生成”测试配置选项。前往测试配置> 执行选项卡> 常规选项卡> 插桩模式> 编辑> 插桩功能> 高级选项可配置此选项。

在参数步骤和数据源中使用枚举值 

您可以在测试用例编辑器的参数表中使用枚举值的标识符来指定值。按 CTRL+SPACE 可获得已知枚举值的列表。

默认情况下,按 CTRL+SPACE 时仅显示项目中定义的枚举值。要显示在项目外部定义的枚举值,需打开项目属性,前往 Parasoft> C++test> 其他设置并提供高级选项:xharness.dumpEnumsFromFile <PATH>,其中 <PATH> 是定义枚举的源文件所在的磁盘位置。指定路径时可以使用通配符 *。允许添加多个 xharness.dumpEnumsFromFile <PATH> 选项条目。

以下示例展示了包含枚举标识符的参数步骤:

您还可以在数据源中使用枚举标识符。以下示例展示了一个 CSV 文件的片段。

"Input","Output"
MON,TUE
TUE,WED
WED,THU

可以使用简单的枚举值名称或包含所有命名空间的完整名称。例如,如果在 ::INNER_NS::MyClass::DaysEnumeration 中定义 MON 枚举值,则可以键入 MON 或 ::INNER_NS::MyClass::MON。

从数据源或参数步骤中提取枚举值

使用以下辅助宏从数据源或参数步骤中提取枚举值:

CPPTEST_DS_GET_ENUM(<scoped enum name>, <column name>)

以下是一个从数据源提取枚举值的简单示例:

  • No labels