如何在C语言中使用带有CTest的check库进行单元测试
我有一个项目,我想在其中使用库进行单元测试 我当前的项目使用CMake,具有以下结构: . ├── CMakeLists.txt ├── COPYING ├── ChangeLog ├── README ├── src │ ├── core │ │ ├── CMakeLists.txt │ │ └── main.c │ ├── core-test │ │ ├── CMakeLists.txt │ │ └── main.c │ └── scrypt └── doc └── protocol.txt . ├── CMakeLists.txt ├── 临摹 ├── 变更日志 ├── 自述 ├── src │ ├── 核心 │ │ ├── CMakeLists.txt │ │ └── main.c │ ├── 岩心测试 │ │ ├── CMakeLists.txt │ │ └── main.c │ └── 刺耳 └── 医生 └── protocol.txt 在如何在C语言中使用带有CTest的check库进行单元测试,c,cmake,ctest,check-framework,C,Cmake,Ctest,Check Framework,我有一个项目,我想在其中使用库进行单元测试 我当前的项目使用CMake,具有以下结构: . ├── CMakeLists.txt ├── COPYING ├── ChangeLog ├── README ├── src │ ├── core │ │ ├── CMakeLists.txt │ │ └── main.c │ ├── core-test │ │ ├── CMakeLists.txt │ │ └── main.c │ └── scrypt └─
核心测试
中,我对核心
模块进行了单元测试。在scrypt测试中
我将对scrypt
模块等进行测试
将
检查与CTest一起使用是否有意义
如果是:如何将使用check
的单元测试连接到CMake/CTest项目?我是否需要额外的CTest配置来解释启用了check
的可执行文件的结果?使用check
进行CTest是可能的,不幸的是不方便
当使用check
的单元测试失败时,它们将被视为CTest中的失败。问题是,CTest不会显示失败的应用程序的输出1。另一个缺点是CTest不计算单个检查
测试,因此“单个”失败测试可能意味着多个检查
测试。我无法找到让CTest解释检查结果的方法
您可以通过在生成目录(与运行make
或ctest
的目录相同)中创建具有以下内容的CTestCustom.cmake
文件来强制打印输出:
设置(CTEST\U自定义\U测试后“cat测试/临时/LastTest.log”)