gpt4 book ai didi

c - 如何使用带有 CTest 的检查库在 C 中进行单元测试

转载 作者:行者123 更新时间:2023-12-05 01:30:56 28 4
gpt4 key购买 nike

我有一个我想在其中使用的项目 check用于单元测试的库。

我当前的项目正在使用 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 模块等进行测试。


在 CTest 中使用 check 是否有意义?

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

最佳答案

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

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


  1. 您可以通过在 build 目录中创建 CTestCustom.cmake 文件来强制打印输出(与您运行 makectest),内容如下:

    set (CTEST_CUSTOM_POST_TEST "cat Testing/Temporary/LastTest.log")

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

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com