单元测试工具 CUnit 简介(2)
作者:网络转载 发布时间:[ 2013/8/30 14:28:53 ] 推荐标签:
const CU_pRunSummary CU_get_run_summary(void) 检索所有测试结果的统计数字。返回值指向一个包括各种统计数字的结构体:
typedef struct CU_RunSummary
{
unsigned int nSuitesRun;
unsigned int nSuitesFailed;
unsigned int nTestsRun;
unsigned int nTestsFailed;
unsigned int nAsserts;
unsigned int nAssertsFailed;
unsigned int nFailureRecords;
} CU_RunSummary;
typedef CU_Runsummary* CU_pRunSummary;
该返回值由框架统一管理,用户不能释放或修改。需要注意的是,如果另一个测试被初始化,该指针可能为无效指针。
const CU_pFailureRecord CU_get_failure_list(void) 检索后一次测试结果的错误记录链表,如果没有错误该值为NULL。该结构体定义如下:
typedef struct CU_FailureRecord
{
unsigned int uiLineNumber;
char* strFileName;
char* strCondition;
CU_pTest pTest;
CU_pSuite pSuite;
struct CU_FailureRecord* pNext;
struct CU_FailureRecord* pPrev;
} CU_FailureRecord;
typedef CU_FailureRecord* CU_pFailureRecord;
同样的,该指针由测试框架统一管理。
unsigned int CU_get_number_of_failure_records(void) 获取CU_get_failure_list()返回链表中CU_FailureRecord的数量。需要注意的是,该值可以比断言失败数量大,因为初始化或清理失败的测试包被包括在内。
6. 错误处理
6.1 常用相关函数
#include <CUnit/CUError.h>
typedef enum CU_ErrorCode
CU_ErrorCode CU_get_error(void);
const char* CU_get_error_msg(void);
typedef enum CU_ErrorAction
void CU_set_error_action(CU_ErrorAction action);
CU_ErrorAction CU_get_error_action(void);
6.2 错误处理
在CUnit中,多数函数通过设置错误码来指示错误状态。一些函数直接返回错误码,另外一些只设置错误码并返回其他的值。CUnit提供下面两个函数用以检查错误状态:
CU_ErrorCode CU_get_error(void)
const char* CU_get_error_msg(void)
第一个函数返回错误代码,第二个函数返回一个描述错误状态的字符串信息。错误码被定义在<CUnit/CUError.h>,定义了如下:
CUE_SUCCESS No error condition.
CUE_NOMEMORY Memory allocation failed.
CUE_NOREGISTRY Test registry not initialized.
CUE_REGISTRY_EXISTS Attempt to CU_set_registry() without CU_cleanup_registry().
CUE_NOSUITE A required CU_pSuite pointer was NULL.
CUE_NO_SUITENAME Required CU_Suite name not provided.
CUE_SINIT_FAILED Suite initialization failed.
CUE_SCLEAN_FAILED Suite cleanup failed.
CUE_DUP_SUITE Duplicate suite name not allowed.
CUE_SUITE_INACTIVE A test run was requested for an inactive suite.
CUE_NOTEST A required CU_pTest of CU_TestFunc pointer was NULL.
CUE_NO_TESTNAME Required CU_Test name not provided.
CUE_DUP_TEST Duplicate test case name not allowed.
CUE_TEST_NOT_IN_SUITE Test is not registered in the specified suite.
CUE_TEST_INACTIVE A test run was requested for an inactive test.
CUE_FOPEN_FAILED An error occurred opening a file.
CUE_FCLOSE_FAILED An error occurred closing a file.
CUE_BAD_FILENAME A bad filename was requested (NULL, empty, nonexistent, etc.).
CUE_WRITE_ERROR An error occurred during a write to a file
相关推荐
更新发布
常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11系统性能测试及调优前期准备
2021/4/15 14:41:29国内比较好用的5款测试管理工具
2021/3/25 17:23:31