VS2022 测试资源管理器未显示在 CMake 项目中使用 GTest 编写的测试

问题描述 投票:0回答:1

昨天我花了一整天的时间试图让 GTest CMake 项目在 VS2022 中工作。一切都已构建并编译,但测试资源管理器不会显示任何测试。点击“全部运行”会导致它陷入无限循环而不进行。我在这里制作了一个最小的重现 https://github.com/GingerbreadFred/GoogleTestRepro/.

该项目的 CMakeLists 如下

cmake_minimum_required(VERSION 3.5)

project(HelloWorldTest)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

include(FetchContent)
FetchContent_Declare(
  googletest
  URL https://github.com/google/googletest/archive/f8d7d77c06936315286eb55f8de22cd23c188571.zip
)

set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)

enable_testing()

add_executable(HelloWorld 
    src/HelloWorld.cpp
)

target_link_libraries(HelloWorld GTest::gtest_main)

include(GoogleTest)
gtest_discover_tests(HelloWorld)

还有HelloWorld.cpp

#include <gtest/gtest.h>

TEST(HelloWorld, Test)
{
    int i = 0;
    EXPECT_EQ(0, i);
}

如果我执行“测试”->“运行 CTests”,则测试会起作用,但测试资源管理器不会注意到。我在输出窗口中看不到任何表明问题所在的内容。说实话我很困惑。

visual-studio cmake visual-studio-2022 googletest
1个回答
0
投票

Visual Studio 中的测试资源管理器无法识别具有任意名称的测试站点。测试服名称中必须带有“Test”后缀。

TEST(HelloWorldTest, Test)
{
    int i = 0;
    EXPECT_EQ(0, i);
}
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.