如何在cmake项目中获取Visual Studio测试资源管理器发现的增强测试

bttbmeg0  于 2022-11-11  发布在  其他
关注(0)|答案(1)|浏览(170)

我有一个小的c++项目,我把它转换成了cmake(来自visual studio的原生解决方案),因为这现在看起来是行业标准。
但是,也出现了一些负面的副作用:visual studio的测试资源管理器不再发现boost测试。
项目在此处可见:https://github.com/dickreuter/neuron_poker/tree/master/tools/montecarlo_cpp
它包含Test.cpp,其中包含一些应该被发现的测试。
cmake文件看起来如下所示。2这可能是问题所在,或者是什么原因导致了问题?

cmake_minimum_required(VERSION 3.15)
project(montecarlo_cpp)

set(CMAKE_CXX_STANDARD 14)

include_directories("C:/Users/dickr/Anaconda3/include" "C:/Users/dickr/git/vcpkg/installed/x64-windows/include" )
link_directories("C:/Users/dickr/Anaconda3/libs")

add_executable(montecarlo_cpp
        Montecarlo.cpp
        Montecarlo.h
        Test.cpp)

TARGET_LINK_LIBRARIES( montecarlo_cpp LINK_PUBLIC ${Boost_LIBRARIES} )
8tntrjer

8tntrjer1#

需要正确配置CMake文件中的测试发现,测试将显示在Visual Studio测试资源管理器中。请按照Boost官方页面Boost测试常见问题中的说明进行操作。我已经修改了您的“CMakeLists.txt”:

cmake_minimum_required(VERSION 3.15)
project(montecarlo_cpp)

set(CMAKE_CXX_STANDARD 14)

find_package(Boost REQUIRED COMPONENTS unit_test_framework) 

add_executable(${PROJECT_NAME}
        Montecarlo.cpp
        Montecarlo.h
        Test.cpp)

TARGET_LINK_LIBRARIES( ${PROJECT_NAME} PRIVATE Boost::unit_test_framework ${PYTHON_LIBRARY})

enable_testing()
add_test(NAME montecarlo_tests COMMAND ${PROJECT_NAME})

Visual Studio 2022测试资源管理器已成功发现测试:

另请确保您安装了Test Adapter for Boost.Test,它自Visual Studio 2017起可用,并且可以通过Visual Studio安装程序/单个组件进行安装。

相关问题