如何在C语言中使用cmake中的单元测试?
我有一个C项目:如何在C语言中使用cmake中的单元测试?,c,unit-testing,cmake,C,Unit Testing,Cmake,我有一个C项目: . ├── build ├── bin │ └── parser ├── CMakeLists.txt ├── configure.h.in ├── inc │ ├── configure.h │ ├── diam_dict.h │ └── unit_tests.h ├── README.txt ├── src │ └── diam_dict.c └── testing └── unit_tests.c 我想把单元测试放在目录“testing”中
.
├── build
├── bin
│ └── parser
├── CMakeLists.txt
├── configure.h.in
├── inc
│ ├── configure.h
│ ├── diam_dict.h
│ └── unit_tests.h
├── README.txt
├── src
│ └── diam_dict.c
└── testing
└── unit_tests.c
我想把单元测试放在目录“testing”中,文件“unit_tests.c”中。
我想测试文件“src/diam_dict.c”的所有函数,我应该怎么做才能让“unit_tests.c”知道要测试的函数在哪里?
[我应该在文件“unit_tests.c”和顶级cmake文件“CMakeLists.txt”中写什么?]
(我应该调用源代码文件“diam_dict.c”的所有函数来测试它们)
ps:头文件“diam_dict.h”包含源文件“diam_dict.c”中函数的所有原型,头文件“unit_tests.h”包含测试文件“unit_tests.c”的所有原型,因此,您可以将其与您希望的任何单元测试框架相结合
事实上,CTest可以调用可执行文件并检查其结果值,这允许进行一些测试。但与真正的单元测试相比,它通常不那么细粒度,而真正的单元测试是从专门的单元测试框架中获得的。事实上,我在这个项目中使用CUnit。你的问题没有反映这一点。