痛点
众所周知我们的一个C语言项目只能有一个含有main函数文件。
可是我们经常会遇到测试单个模块的场景,将测试都写在一个main里面会显得乱糟糟,导致代码的可读性非常差。
那么我们是否可以在C语言的项目里面像Java里面的单元测试(Junit),对单个模块/功能进行单元测试呢?
下面我就来介绍一种方法。
创建工程
删除工程的一些文件
1、删除main.c
2、删除cmake-build-debug
3、删除Run/Debug Configuration里面默认的CMake Application
创建几个文件
#ifndef _MATH_H
#define _MATH_H
int add(int num1, int num2);
#endif
#include "../inc/math.h"
int add(int num1, int num2) {
return num1 + num2;
}
#include <stdio.h>
#include "../inc/math.h"
int main() {
int i = add(1, 1);
printf("t1 = %d", i);
return 0;
}
#include <stdio.h>
#include "../inc/math.h"
int main() {
int i = add(2, 2);
printf("t2 = %d", i);
return 0;
}
修改CMakeLists.txt
找一个含有main的文件reload,然后运行