Cunit正常美观使用的代码实例
时间: 2023-12-19 12:05:16 浏览: 114
cunit学习实例
以下是一个使用 CUnit 进行测试的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <CUnit/CUnit.h>
#include <CUnit/Basic.h>
// 测试用例 1
void test_case_1(void) {
int a = 1;
int b = 2;
CU_ASSERT(a + b == 3);
}
// 测试用例 2
void test_case_2(void) {
int c = 3;
int d = 4;
CU_ASSERT(c * d == 12);
}
// 测试套件初始化函数
int init_suite(void) {
return 0;
}
// 测试套件清理函数
int clean_suite(void) {
return 0;
}
// 测试套件
CU_TestInfo tests[] = {
{"test_case_1", test_case_1},
{"test_case_2", test_case_2},
CU_TEST_INFO_NULL
};
// 测试套件初始化函数
CU_InitializeFunc initialize_suite = init_suite;
// 测试套件清理函数
CU_CleanupFunc cleanup_suite = clean_suite;
// 测试套件注册函数
void add_test_suite(void) {
CU_pSuite suite;
suite = CU_add_suite("Test Suite", initialize_suite, cleanup_suite);
CU_add_test(suite, "test_case_1", test_case_1);
CU_add_test(suite, "test_case_2", test_case_2);
}
// 主函数
int main() {
// 初始化 CUnit 测试框架
CU_initialize_registry();
// 注册测试套件
add_test_suite();
// 运行所有测试
CU_basic_run_tests();
// 输出测试结果
CU_basic_show_failures(CU_get_failure_list());
// 清理 CUnit 测试框架
CU_cleanup_registry();
return 0;
}
```
在这个示例代码中,我们定义了两个测试用例函数 `test_case_1` 和 `test_case_2`,并将它们添加到了一个测试套件中。我们还定义了测试套件初始化函数 `init_suite` 和测试套件清理函数 `clean_suite`,并将它们分别指定为测试套件的初始化函数和清理函数。
在 `main` 函数中,我们首先使用 `CU_initialize_registry` 函数初始化 CUnit 测试框架,然后调用 `add_test_suite` 函数注册测试套件。最后,我们使用 `CU_basic_run_tests` 函数运行所有测试,使用 `CU_basic_show_failures` 函数输出测试结果,最后使用 `CU_cleanup_registry` 函数清理 CUnit 测试框架。
阅读全文