本主题说明如何访问和浏览 C++test 自动生成的测试用例。

章节目录:

访问测试用例

自动生成的测试用例保存在测试套件文件中。使用默认设置,C++test 会为每个测试文件生成一个测试套件。也可以将其配置为为每个函数生成一个测试套件(详细信息,请参阅测试套件选项卡 )。

查看生成的测试用例的步骤:

  1. 在项目树中,找到 C++test 生成的测试套件文件。
  2. 双击生成的测试类的项目树节点。生成的测试类文件将在编辑器中打开。

了解测试用例

测试套件包含测试用例,使用以下架构:

如果之后向测试文件中添加了更多函数,然后对更新后的文件运行测试生成,则会将额外的测试用例添加到原始测试套件文件中。

上下文和包含宏

每个测试套件都以下列两个宏开始:

这两个宏指定的文件应始终与被测文件的名称匹配。如果待测试文件的名称更改,则必须相应地修改这些宏的值。

这两个宏都可以使用相对路径。相对路径必须以“./”或“../”开头。

后置条件宏

以下后置条件宏用于报告测试执行期间变量或类成员所具有的值:

这些宏的结果(报告的所有断言值)都显示在质量任务视图中。任何包含报告后置条件的测试用例都可以在回归测试中自动验证。验证将后置条件宏更改为断言,如果后续测试没有生成期望的(经过验证的)值,断言将会失败。这对于自动生成遗留代码的回归基准而言十分有用。有关验证的详细信息,请参阅验证测试用例以进行回归测试

其他宏

验证后置条件时,将断言宏添加到测试用例。

此外,可以根据您的测试需求手动添加其他宏。

有关可以在测试用例中使用的宏的列表,请参阅 C++test API 文档

测试函数

自动生成的测试用例有时包含特殊函数(例如,用于访问最小值或最大值)。

为了使用不同的数值生成测试用例,C++test 运行时库包含一组返回整数和浮点类型最小值/最大值的函数。这些函数的说明如下表所示。所有列出的函数都可以在用户定义的测试用例中使用。

功能目的
char cpptestLimitsGetMaxChar(void);返回 char 类型的最大值。
char cpptestLimitsGetMinChar(void);返回 char 类型的最小值。
signed char cpptestLimitsGetMaxSigned Char(void);返回 char 类型的最小值。
signed char cpptestLimitsGetMinSigned Char(void);返回有符号 char 类型的最小值。
unsigned char cpptestLimitsGetMaxUnsigned Char(void);返回无符号 char 类型的最大值。
short cpptestLimitsGetMaxShort(void);返回 short 类型的最大值。
short cpptestLimitsGetMinShort(void);返回 short 类型的最小值。
unsigned short cpptestLimitsGetMax UnsignedShort(void);返回无符号 short 类型的最大值。
int cpptestLimitsGetMaxInt(void);返回 int 类型的最大值。
int cpptestLimitsGetMinInt(void);返回 int 类型的最小值。
unsigned int cpptestLimitsGetMaxUnsigned Int(void);返回无符号 int 类型的最大值。
long cpptestLimitsGetMaxLong(void);返回 long 类型的最大值。
long cpptestLimitsGetMinLong(void);返回 long 类型的最小值。
unsigned long cpptestLimitsGetMaxUnsigned Long(void);返回无符号 long 类型的最大值。
float cpptestLimitsGetMaxPosFloat(void);返回 float 类型的最大正值。
float cpptestLimitsGetMinNegFloat(void);返回 float 类型的最小负值。
float cpptestLimitsGetMaxNegFloat(void);返回 float 类型的最大负值。
float cpptestLimitsGetMinPosFloat(void);返回 float 类型的最小正值。
double cpptestLimitsGetMaxPosDouble(void);返回 double 类型的最大正值。
double cpptestLimitsGetMinNegDouble(void);返回 double 类型的最小负值。
double cpptestLimitsGetMaxNegDouble(void);返回 double 类型的最大负值。
double cpptestLimitsGetMinPosDouble(void);返回 double 类型的最小正值。
long double cpptestLimitsGetMaxPosLong Double(void);返回 long double 类型的最大正值。
long double cpptestLimitsGetMinNegLong Double(void);返回 long double 类型的最小负值。
long double cpptestLimitsGetMaxNegLong Double(void);返回 long double 类型的最大负值。
long double cpptestLimitsGetMinPosLongDou-ble(void);返回 long double 类型的最小正值。

了解自动生成的桩函数

请参阅了解和自定义自动生成的桩函数