本节定义可用于注册测试套件及其测试用例的宏。

定义
CPPTEST_TEST_SUITE(TestSuiteName)在测试套件定义中开始测试用例注册部分。
CPPTEST_TEST_SUITE_END()结束测试套件定义中的测试用例注册部分。
CPPTEST_TEST(testCaseName)默认测试用例注册。
CPPTEST_TEST_EXCEPTION(testcasename, ExceptionType)用于指定给定的测试用例可能会抛出异常。ExceptionType 应该用于指定异常的类型。由于这将用作 catch 子句中的异常声明,您可以指定 ... 以指示测试用例将抛出任何异常。
CPPTEST_TEST_ERROR(testcasename, ErrorCode)

用于注册预期会导致运行时错误的测试用例(例如,被零除、访问冲突、超时、调用 exit() 函数等) 宏中使用的 ErrorCode 可以取自 C++test 运行时问题报告。例如,如果测试用例 "test_0”导致超时,C++test 将报告以下错误:已达到超时(5 秒)。测试中断。

[CPPTEST_TIMEOUT].如果这是特定先决条件集的预期行为,并且您希望将此测试用例保留为回归测试,则默认测试用例注册行:

  CPPTEST_TEST(test_0);

应改为:

  CPPTEST_TEST_ERROR(test_0, CPPTEST_TIMEOUT);

C++test 将预期超时是测试用例“test_0”的预期结果。

CPPTEST_TEST_FAIL(testCaseName)用于指定给定的测试用例由于某种原因(例如,异常、超时、失败的断言等)而失败。由于此宏不允许您指定失败的确切原因,因此最好尽可能使用 CPPTEST_TEST_ERROR()
CPPTEST_TEST_EXCEPTION() whenever possible。
CPPTEST_TEST_DS(testCaseName, dsDefinition)

用于注册使用来自给定数据源的数据的测试用例。以下宏可用于定义数据源:

CPPTEST_DS(dsName) - 使用具有给定名称的托管数据源。

CPPTEST_DS_ARRAY(ARRAY_NAME, ROW, COLUMN) - 使用 ARRAY_NAME 作为数据源。ARRAY_NAME 应在源代码中定义为 char* ARRAY_NAME[ROW][COLUMN].数组的第一行必须包含列名。测试用例将执行 (ROW - 1) 次。

CPPTEST_DS_CSV(FILE_NAME, SEPARATOR, HAS_HEADER, TRIM) - 使用逗号分隔值文件中的数据。宏参数为:

FILE_NAME  - 带有数据源的数据源文件的名称。它可以用完整或相对文件路径指定。
注释:如果使用相对路径,则它相对于测试可执行文件的工作目录,可以在测试配置的测试可执行文件运行目录中自定义。 字段(在执行> 运行时 选项卡中)。  

SEPARATOR - 字段分隔符。应将其指定为字符常量(例如:',').

HAS_HEADER - 如果第一条记录(行)是标题,则应将其设置为 1。否则,应将其设置为 0。
注释:如果 CSV 文件中没有标题,则每个列名称都是其序号(从 0 开始)。 

TRIM - 如果省略值前后的空格,则应将其设置为 1。否则,应将其设置为 0。

CPPTEST_DS_REPEAT(NUMBER) - 使 C++test 执行给定的测试用例NUMBER 次。

CPPTEST_TEST_DISABLED(testcasename)注册一个禁用的测试用例 - 它不会被执行。
CPPTEST_TEST_EXCEPTION_DISABLED(testcasename, ExceptionType)注册一个禁用的测试用例 - 它不会被执行。
CPPTEST_TEST_ERROR_DISABLED(testcasename, ErrorCode)注册一个禁用的测试用例 - 它不会被执行。
CPPTEST_TEST_FAIL_DISABLED(testcasename)注册一个禁用的测试用例 - 它不会被执行。
CPPTEST_TEST_SUITE_REGISTRATION(TestSuiteName)注册测试套件以供执行。必须放在测试套件源文件中。
CPPTEST_CONTEXT(testedFile)在测试套件源代码中使用此宏定义给定测试套件测试的指定源/头文件。
CPPTEST_TEST_SUITE_INCLUDED_TO(tested Source)在测试套件源代码中使用此宏指定在构建测试可执行文件时将给定的测试套件附加到给定源文件的末尾。
  • No labels