C++ 单元测试示例
时间: 2023-10-31 19:06:43 浏览: 50
当然,我可以为你提供一个简单的C语言单元测试示例。假设我们有一个名为 `addition.c` 的源文件,其中包含一个名为 `add` 的函数,用于将两个整数相加并返回结果。我们希望编写一个单元测试,确保该函数能够正确地运行。
首先,我们需要使用一个单元测试框架来编写测试代码。在这里,我们将使用CUnit框架作为示例。确保你已经安装了CUnit。
下面是一个示例的CUnit单元测试代码:
```c
#include <CUnit/CUnit.h>
#include <CUnit/Basic.h>
#include "addition.h" // 包含我们要测试的头文件
void testAddition(void) {
CU_ASSERT(add(2, 3) == 5);
CU_ASSERT(add(-10, 5) == -5);
CU_ASSERT(add(0, 0) == 0);
// 添加更多的测试用例
}
int main() {
CU_initialize_registry();
CU_pSuite suite = CU_add_suite("Addition", NULL, NULL);
CU_add_test(suite, "testAddition", testAddition);
CU_basic_set_mode(CU_BRM_VERBOSE);
CU_basic_run_tests();
CU_cleanup_registry();
return 0;
}
```
在这个示例中,我们首先包含了CUnit的头文件。然后,我们包含了要测试的函数 `add` 所在的头文件。
`testAddition` 函数是一个具体的测试用例。它使用 `CU_ASSERT` 宏来断言函数 `add` 的返回值是否符合预期。你可以根据需要添加更多的测试用例。
在 `main` 函数中,我们初始化CUnit框架并创建一个测试套件。然后,我们将 `testAddition` 函数添加到测试套件中。通过调用 `CU_basic_set_mode` 函数,我们设置测试运行时的模式为 `CU_BRM_VERBOSE`,这样在运行测试时将输出详细的结果。
最后,我们运行测试并清理CUnit框架的资源。
请注意,这只是一个简单的示例,实际的单元测试可能需要更复杂的结构和断言。此外,你需要自己编写被测试函数的实现代码。
希望这个示例能够帮助你开始编写C语言的单元测试!如果有任何问题,请随时提问。