可以在测试用例和桩函数源中使用这些宏验证测试用例执行。

定义
CPPTEST_FAIL(message)无条件失败并显示自定义消息。
CPPTEST_ASSERT(condition)断言结果为 true 的条件。
CPPTEST_ASSERT_BITS(mask, expected, actual)相当于 CPPTEST_ASSERT_BITS_MESSAGE,但使用通用断言消息。
CPPTEST_ASSERT_BITS_MESSAGE(message, mask, expected, actual)断言 expected 和 actual 的屏蔽位(usingmask)相等,并在失败时打印自定义消息(mask、expected 和 actual 为整数类型)。仅比较 expected 和 actual 中掩码的高位。
CPPTEST_ASSERT_BITS_HIGH(mask, actual)相当于 CPPTEST_ASSERT_BITS_HIGH,但使用通用断言消息。
CPPTEST_ASSERT_BITS_HIGH_MESSAGE(message, mask, actual)断言 actual 的屏蔽位(usingmask)为高位,并在失败时打印自定义消息(mask 和 actual 为整数类型)。仅检查 actual 中掩码的高位。
CPPTEST_ASSERT_BITS_LOW(mask, actual)相当于 CPPTEST_ASSERT_BITS_LOW,但使用通用断言消息。
CPPTEST_ASSERT_BITS_LOW_MESSAGE(message, mask, actual)断言 actual 的屏蔽位(usingmask)为低位,并在失败时打印自定义消息(mask 和 actual 为整数类型)。仅检查 actual 中掩码的高位。
CPPTEST_ASSERT_BIT_HIGH_MESSAGE(message, n, actual)断言 actual 的第 n 位为高位,并在失败时打印自定义消息(n 和 actual 为整数类型)。
CPPTEST_ASSERT_BIT_HIGH(n, actual)相当于 CPPTEST_ASSERT_BIT_HIGH,但使用通用断言消息。
CPPTEST_ASSERT_BIT_LOW_MESSAGE(message, n, actual)断言 actual 的第 n 位为低位,并在失败时打印自定义消息(n 和 actual 为整数类型)。
CPPTEST_ASSERT_BIT_LOW(n, actual)相当于 CPPTEST_ASSERT_BIT_LOW,但使用通用断言消息。
CPPTEST_ASSERT_MESSAGE(message, condition)断言结果为 true 的条件。失败时提供自定义消息。
CPPTEST_ASSERT_EQUAL(expected, actual)断言两个值相等。
CPPTEST_ASSERT_EQUAL_MESSAGE(message, expected, actual)断言两个值相等。失败时提供自定义消息。
CPPTEST_ASSERT_BOOL_EQUAL(expected, actual)断言两个布尔值相等。如果失败,将报告 actual 和 expected 值。C++test 可以在质量任务视图中自动验证失败的断言。
CPPTEST_ASSERT_BOOL_EQUAL_MESSAGE(message, expected, actual)断言两个布尔值相等。失败时提供自定义消息。
CPPTEST_ASSERT_DOUBLES_EQUAL(expected, actual, delta)相当于 CPPTEST_ASSERT_FLOAT_EQUAL_DELTA
CPPTEST_ASSERT_DOUBLES_EQUAL_MESSAGE(message, expected, actual, delta)相当于 CPPTEST_ASSERT_FLOAT_EQUAL_DELTA_MESSAGE
CPPTEST_ASSERT_FLOAT_EQUAL(expected, actual, delta)相当于 CPPTEST_ASSERT_FLOAT_EQUAL_DELTA
CPPTEST_ASSERT_INTEGER_EQUAL(expected, actual)断言两个整数值相等。如果失败,将报告 actual 和 expected 值。C++test 可以在质量任务视图中自动验证失败的断言。
CPPTEST_ASSERT_INTEGER_EQUAL_MESSAGE(message, expected, actual)断言两个整数值相等。失败时提供自定义消息。
CPPTEST_ASSERT_INTEGER_EQUAL_DELTA(expected, actual, delta)断言两个整数值相等(达到 'delta' 精度)。
CPPTEST_ASSERT_INTEGER_EQUAL_DELTA_MESSAGE(message, expected, actual, delta)断言两个整数值相等(达到 'delta' 精度)。失败时提供自定义消息。
CPPTEST_ASSERT_INTEGER_ARRAY_EQUAL(expected, actual, size)断言两个整数值数组相等。比较前 'size' 个数组元素,
CPPTEST_ASSERT_INTEGER_ARRAY_EQUAL_DELTA(expected, actual, size, delta)断言两个整数值数组相等(达到 'delta' 精度)。比较前 'size' 个数组元素。
CPPTEST_ASSERT_UINTEGER_EQUAL(expected, actual)断言两个无符号整数值相等。如果失败,将报告 actual 和 expected 值。C++test 可以在质量任务视图中自动验证失败的断言。
CPPTEST_ASSERT_UINTEGER_EQUAL_MESSAGE(message, expected, actual)断言两个无符号整数值相等。失败时提供自定义消息。
CPPTEST_ASSERT_UINTEGER_EQUAL_DELTA(expected, actual, delta)断言两个无符号整数值相等(达到 'delta' 精度)。
CPPTEST_ASSERT_UINTEGER_EQUAL_DELTA_MESSAGE(message, expected, actual, delta)断言两个无符号整数值相等(达到 'delta' 精度)。失败时提供自定义消息。
CPPTEST_ASSERT_UINTEGER_ARRAY_EQUAL(expected, actual, size) 断言两个无符号整数值数组相等。比较前 'size' 个数组元素。
CPPTEST_ASSERT_UINTEGER_ARRAY_EQUAL_DELTA(expected, actual, size, delta)断言两个无符号整数值数组相等(达到 'delta' 精度)。比较前 'size' 个数组元素。
CPPTEST_ASSERT_FLOAT_EQUAL_DELTA(expected, actual, delta)断言两个浮点值相等(达到 'delta' 精度)。 
CPPTEST_ASSERT_FLOAT_EQUAL_DELTA_MESSAGE(message, expected, actual, delta)断言两个浮点值相等(达到 'delta' 精度)。失败时提供自定义消息。
CPPTEST_ASSERT_FLOAT_ARRAY_EQUAL_DELTA(expected, actual, size, delta) 断言两个浮点值数组相等(达到 'delta' 精度)。
CPPTEST_ASSERT_CSTR_EQUAL(expected, actual)断言两个 C 风格字符串相等。如果失败,将报告 actual 和 expected 值。   C++test 可以在质量任务视图中自动验证失败的断言。
CPPTEST_ASSERT_CSTR_EQUAL_MESSAGE (message, expected, actual)断言两个 C 风格字符串相等。失败时提供自定义消息。
CPPTEST_ASSERT_CSTR_ARRAY_EQUAL(expected, actual, size)断言两个 C 风格字符串数组相等。比较前 'size' 个数组元素。
CPPTEST_ASSERT_CSTR_N_EQUAL(expected, actual, max_size)断言两个 C 风格字符串相等(仅比较前 ’max_size’ 个字符)。如果失败,将报告 actual 和 expected 值。C++test 可以在质量任务视图中自动验证失败的断言。
CPPTEST_ASSERT_CSTR_N_EQUAL_MESSAGE(message, expected, actual, max_size)断言两个 C 风格字符串相等(仅比较前 ’max_size’ 个字符)。失败时提供自定义消息。
CPPTEST_ASSERT_MEM_BUFFER_EQUAL(expected, actual, size)断言两个数据缓冲区相等(比较 ’size’ 个字节)。如果失败,将报告 actual 和 expected 值。C++test 可以在质量任务视图中自动验证失败的断言。
CPPTEST_ASSERT_MEM_BUFFER_EQUAL_MESSAGE(message, expected, actual, size)断言两个数据缓冲区相等(比较 ’size’ 个字节)。失败时提供自定义消息。
CPPTEST_ASSERT_PTR_EQUAL(expected, actual)断言两个指针值相等。如果失败,将报告 actual 和 expected 值。C++test 可以在质量任务视图中自动验证失败的断言。
CPPTEST_ASSERT_PTR_EQUAL_MESSAGE(message, expected, actual)断言两个指针值相等。失败时提供自定义消息。
CPPTEST_ASSERT_PTR_ARRAY_EQUAL(expected, actual, size)断言两个指针数组相等。比较前 'size' 个数组元素。
CPPTEST_ASSERT_WCSTR_EQUAL(expected, actual)断言两个 C 风格的宽字符串相等。如果失败,将报告 actual 和 expected 值。C++test 可以在质量任务视图中自动验证失败的断言。
CPPTEST_ASSERT_WCSTR_EQUAL_MESSAGE(message, expected, actual)断言两个 C 风格的宽字符串相等。失败时提供自定义消息。

CPPTEST_ASSERT_ENUM_EQUAL(scoped_enum_name, expected, actual)

断言两个整数值相等。如果失败,actual 和 expected 值将报告为枚举器。如果整数值没有映射到指定枚举的枚举器标识符,则报告测试用例错误。详细信息请参阅处理枚举值

CPPTEST_ASSERT_ENUM_EQUAL_MESSAGE(scoped_enum_name, msg, expected, actual)

断言两个整数值相等,类似上面的 CPPTEST_ASSERT_ENUM_EQUAL,此外,在故障时提供自定义消息。详细信息请参阅处理枚举值
CPPTEST_ASSERT_THROW(expression, ExceptionType)断言给定表达式抛出指定类型的异常。
CPPTEST_ASSERT_THROW_MESSAGE(message, expression, ExceptionType)断言给定表达式抛出指定类型的异常。失败时提供自定义消息。
CPPTEST_ASSERT_NO_THROW(expression)断言给定表达式不抛出任何异常。
CPPTEST_ASSERT_NO_THROW_MESSAGE(message, expression)断言给定表达式不抛出任何异常。失败时提供自定义消息。
CPPTEST_ASSERT_EXTERNAL(program, param1, param2, param3)使用外部应用程序验证值。第一个参数指定要运行的可执行程序。该程序接收三个参数(param1、param2、param3)。如果它返回一个非零值,则断言失败,程序 stdout 将用作失败消息。
CPPTEST_ASSERT_EXTERNAL_MESSAGE(message, program, param1, param2, param3)使用外部应用程序验证值。第一个参数指定要运行的可执行程序。该程序接收三个参数(param1、param2、param3)。如果返回非零值,则断言失败,自定义消息将用作失败消息。
CPPTEST_ASSERT_MEMORY_LEAKS()

断言在当前测试用例执行期间分配的动态内存块在此宏调用之前被释放。

注意:此宏要求在测试配置中启用 Memory Monitoring 功能(请参阅运行时错误检测)。

CPPTEST_ASSERT_EQUAL_FMT(expected, actual, format)

断言两个值相等。以自定义格式报告包含 expected / actual 值的断言。

这些断言使用 C 标准 snprintf() 函数将 expected / actual 值转换为使用自定义模式(<format> string)的字符串表示形式。

补充说明:

  • 要求 C 标准 snprintf() 函数可用于 C++test 的自动化测试框架。
  • 格式字符串(<format>)应该符合 C 标准 printf() 函数。
  • <expected>、<actual> 和 <delta> 值需要根据实际类型以 printf() 函数接受/要求的格式指定——例如,当浮点值字符串的格式为“%f”时,应指定有效的浮点值(例如,0.0,而不是 0)。
  • 为结果值字符串定义了缓冲区大小。如果实际值字符串大小超出缓冲区大小,将报告执行错误。
  • 输出缓冲区的默认大小设置为 24 字节。可以通过在项目属性> C++test> 构建设置> 编译器选项中添加以下选项来自定义缓冲区的大小:-DCPPTEST_FMT_BUFFER_SIZE=<以字节为单位的新缓冲区大小>。
CPPTEST_ASSERT_EQUAL_DELTA_FMT(expected, actual, delta, format)
CPPTEST_ASSERT_ARRAY_EQUAL_FMT(expected, actual, size, format)

断言两个数组相等。以自定义格式报告包含 expected / actual 值的断言。

CPPTEST_ASSERT_ARRAY_EQUAL_DELTA_FMT(expected, actual, size, delta, format)
CPPTEST_ASSERT_DOUBLES_FMT_EQUAL(expected, actual)

断言两个 double 浮点值相等(比较转换为字符串的值)。 

CPPTEST_ASSERT_DOUBLES_FMT_EQUAL_MESSAGE(message, expected, actual)断言两个 double 浮点值相等(比较转换为字符串的值)。失败时提供自定义消息。



  • No labels