我有要在其中使用check库进行单元测试的项目。
我当前的项目正在使用CMake并具有以下结构:
。
├──CMakeLists.txt
├──复制
├──变更日志
├──自述文件
├──src
│──├──核心
││├──CMakeLists.txt
││└──main.c
│├──核心测试
││├──CMakeLists.txt
││└──main.c
│└──加密
└──doc
└──protocol.txt
在core-test
中,我具有core
模块的单元测试。在scrypt-test
中,我将对scrypt
模块进行测试,依此类推。
在CTest中使用check
是否有意义?
如果是:如何将使用check
的单元测试连接到CMake / CTest项目?我是否需要CTest的其他配置才能解释启用check
的可执行文件的结果?
最佳答案
可以将check
与CTest一起使用,不幸的是并不方便。
如果使用check
的单元测试失败,则在CTest中将其计为失败。问题是,CTest不会显示失败的应用程序的输出1。另一个缺点是CTest不计算单个check
测试,因此“单个”失败的测试可能意味着多个check
测试。我找不到使CTest解释检查结果的方法。
您可以通过在构建目录(运行CTestCustom.cmake
或make
的目录)中创建ctest
文件来强制输出输出,其内容如下:
设置(CTEST_CUSTOM_POST_TEST“猫测试/临时/LastTest.log”)
关于c - 如何将检查库与CTest一起用于C中的单元测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9151953/