5.3 基本模式

  基本模式接口也是非交互的,其结果被显示到标准输出。这种接口支持运行单独的测试包或测试用例,并且允许用户代码在测试运行期间控制输出显示的类型。它对用户提供了灵活的访问方式。

  CU_ErrorCode CU_basic_run_tests(void) 该函数执行注册簿中所有活动状态的测试包,其输出类型取决于当前运行模式,运行模式可以通过 CU_basic_set_mode()设置。

  CU_ErrorCode CU_basic_run_suite(CU_pSuite pSuite) 该函数运行单个指定的测试包,如果该测试包为NULL或为非活动的,将返回相应的错误码,其输出类型取决于当前运行模式,运行模式可以通过 CU_basic_set_mode()设置。

  void CU_basic_set_mode(CU_BasicRunMode mode) 该函数用于设置基本运行模式,可选模式为:

  CU_BRM_NORMAL 结果会输出基本信息,包括失败以及测试运行的总体状况

  CU_BRM_SILENT 只会输出错误信息

  CU_BRM_VERBOSE 输出测试运行的详细信息

  CU_BasicRunMode CU_basic_get_mode(void) 用户获取当前基本运行模式。

  void CU_basic_show_failures(CU_pFailureRecord pFailure) 输出所有错误的概要到标准输出,与当前基本运行模式无关

  5.4 控制台交互模式

  控制台模式是可交互的。用户可以交互地控制测试的运行。包括选择、运行已注册的测试包和测试用例、查看测试结果等。使用 void CU_curses_run_tests(void) 开启控制台模式

  5.5 运行时行为修改

  下面函数可以允许用户在测试运行期间修改测试框架的行为:

  void CU_set_fail_on_inactive(CU_BOOL new_inactive)

  CU_BOOL CU_get_fail_on_inactive(void)

  默认的运行时行为,将非活动状态的测试包和测试用例当做测试失败输出。如果用户打算将非活动状态的测试包和测试用例忽略,便可以使用该函数修改。CU_FALSE指示测试框架会忽略非活动状态的实体,CU_TURE将会把它们当做测试失败。

  5.6 获取测试结果

  用户代码可能需要直接访问测试结果,测试结果包括多种运行数量和包括失败详细信息的错误记录表。需要指出的是,当用户运行新的测试、注册簿初始化或清空时,测试结果会被覆盖。可访问测试结果的接口如下:

unsigned int CU_get_number_of_suites_run(void)
unsigned int CU_get_number_of_suites_failed(void)
unsigned int CU_get_number_of_tests_run(void)
unsigned int CU_get_number_of_tests_failed(void)
unsigned int CU_get_number_of_asserts(void)
unsigned int CU_get_number_of_successes(void)
unsigned int CU_get_number_of_failures(void)

  这些函数会报告后一次测试结果中通过和失败的测试包、测试用例和断言的数量。如果测试包在初始化或清理时返回非零值或其为非活动状态,将会被认为测试失败。如果测试用例中任意一个断言失败或起初在非活动状态,该测试用例会被认定为测试失败。后3个函数涉及到单独的断言,非活动状态的测试包和测试用例不会被统计入内。测试包或测试用例没有被报告为已经运行,它们依然被当做失败处理