2012-02-05 43 views
2

我有一个项目,我想在其中使用check库进行单元测试。如何在CTest中使用带CTest的检查库进行单元测试C

我现在的项目使用CMake和具有以下结构:

 
. 
├── CMakeLists.txt 
├── COPYING 
├── ChangeLog 
├── README 
├── src 
│   ├── core 
│ │   ├── CMakeLists.txt 
│ │ └── main.c 
│   ├── core-test 
│ │   ├── CMakeLists.txt 
│ │ └── main.c 
│ └── scrypt 
└── doc 
    └── protocol.txt 

core-test我有core模块的单元测试。在scrypt-test我将测试scrypt模块等。


是否使用check与CTest有意义?

如果是:如何连接使用check到CMake/CTest项目的单元测试?我是否需要CTest的额外配置来解释check -enabled可执行文件的结果?

回答

2

使用check与CTest是可能的,不幸的是不方便。

当使用check的单元测试失败时,它们将被视为CTest中的失败。问题是,CTest不显示失败应用程序的输出。另一个缺点是CTest不会计入单个check测试,所以“单一”失败测试可能意味着多个check测试。我无法找到一种方法让CTest解释检查结果。


  1. 您可以通过创建CTestCustom.cmake文件中构建目录(同一个在其中运行makectest)与下列内容强制输出的打印:

    集(CTEST_CUSTOM_POST_TEST“猫Testing/Temporary/LastTest.log“)

相关问题