我有要在其中使用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.cmakemake的目录)中创建ctest文件来强制输出输出,其内容如下:

设置(CTEST_CUSTOM_POST_TEST“猫测试/临时/LastTest.log”)

关于c - 如何将检查库与CTest一起用于C中的单元测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9151953/

10-10 13:23