使用c++编写mock测试代码
时间: 2024-05-25 15:05:24 浏览: 30
使用C语言编写mock测试代码可以通过使用函数指针来替代被mock的函数,从而实现测试。下面是一个简单的示例代码:
```c
#include <stdio.h>
// 被mock的函数
int add(int a, int b) {
return a + b;
}
// mock函数,用于替代add函数
int mock_add(int a, int b) {
return a - b;
}
// 函数指针,指向被mock或者真实函数
typedef int (*AddFunction)(int, int);
int main() {
// 定义函数指针,并初始化为真实函数
AddFunction add_func = add;
// 调用真实函数
int result = add_func(2, 3);
printf("result: %d\n", result);
// 将函数指针指向mock函数
add_func = mock_add;
// 调用mock函数
result = add_func(2, 3);
printf("result: %d\n", result);
return 0;
}
```
在上面的示例中,我们定义了一个被mock的函数`add`和一个mock函数`mock_add`。通过定义一个函数指针`AddFunction`,我们可以灵活地切换函数指针的指向,从而实现对被mock函数的测试。在示例中,我们先调用了真实的`add`函数,然后将函数指针指向了`mock_add`函数,再次调用函数指针时实际上调用的是`mock_add`函数。