如何在C语言中使用cmake中的单元测试?

如何在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”中

我有一个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”中,文件“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。你的问题没有反映这一点。