【问题标题】:How to group CTests together?如何将 CTest 组合在一起?
【发布时间】:2021-12-03 00:18:57
【问题描述】:

我想通过如下结构创建 CTest 组以提高可读性:

我该怎么做?我当前的 CMakeLists.txt:

cmake_minimum_required(VERSION 3.20)
project(Test)

set(CMAKE_CXX_STANDARD 14)

enable_testing()
add_executable(env environment.cpp)
add_test(Environment env)
add_subdirectory(unit) # Includes tests 'UserInterface' and 'Test2'

运行时子目录中的测试没有组合在一起:

【问题讨论】:

    标签: c++ unit-testing testing clion ctest


    【解决方案1】:

    CTest 不支持这一点,因为它不是经典的单元测试框架,而是一种方便的方式来“运行”已经配置(在大多数情况下)使用CMake 构建的东西。

    你可以做的是:

    • 实施命名方案,例如前缀测试由一个共同的标识符。对于使用add_test(foo_...) 注册的所有测试,您可以使用ctest -R foo_ 运行此组。
    • 将类似设置和拆卸的测试与一组测试相关联(查看FIXTURES_CLEANUP 等测试属性)。但是,这本身并没有为您提供结构,它仅确保某个现有测试在相关测试之前/之后作为设置/拆卸运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-18
      • 2011-05-07
      • 2011-07-22
      • 1970-01-01
      • 2021-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多