如何从头开始在 VS 2019 中设置 Google 测试?
How do you setup Google Test in VS 2019 from scratch?
我已经尝试在 visual studio 2019 年设置 google 测试 v1.10 很长时间了,但一直没有用,而且也发生了很多变化.大多数教程都没有数据,Microsoft 帮助页面说使用 google 测试适配器,但我有一个已经存在的项目,我想添加 google 测试。我已经参考了 google 测试安装页面(https://github.com/google/googletest/blob/master/googletest/README.md)并尝试使用 cmake 方法进行设置,但它不起作用,而且 cmake 方法有点复杂。我想知道是否有人可以帮助像我这样的假人的步骤?我觉得这也会帮助那些目前正在尝试设置它但也遇到困难的人。
这就是我为 cmake 所做的事情:
在 vs 中创建了一个空项目,并添加了一个 source.cpp 文件和一个 Header.h 文件(示例)。
我创建了一个 CMakeLists.txt 和一个 CMakeLists.txt.in 文件并将其复制粘贴到
第一个(为我的项目做了一些调整)
# Download and unpack googletest at configure time
configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download )
if(result)
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
endif()
execute_process(COMMAND ${CMAKE_COMMAND} --build .
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download )
if(result)
message(FATAL_ERROR "Build step for googletest failed: ${result}")
endif()
# Prevent overriding the parent project's compiler/linker
# settings on Windows
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
# Add googletest directly to our build. This defines
# the gtest and gtest_main targets.
add_subdirectory(${CMAKE_CURRENT_BINARY_DIR}/googletest-src
${CMAKE_CURRENT_BINARY_DIR}/googletest-build
EXCLUDE_FROM_ALL)
# The gtest/gtest_main targets carry header search path
# dependencies automatically when using CMake 2.8.11 or
# later. Otherwise we have to add them here ourselves.
if (CMAKE_VERSION VERSION_LESS 2.8.11)
include_directories("${gtest_SOURCE_DIR}/include")
endif()
# Now simply link against gtest or gtest_main as needed. Eg
add_executable(test_ source.cpp)
target_link_libraries(test_ gtest_main)
add_test(NAME example_test COMMAND test)
和CMakeLists.txt.in
cmake_minimum_required(VERSION 2.8.2)
project(googletest-download NONE)
include(ExternalProject)
ExternalProject_Add(googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG master
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-src"
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-build"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
)
- 我在我的项目文件中创建了一个构建文件夹
- 我使用终端的 cmake 命令将其构建到构建文件夹中
像这样
cmake -S "path to src code" -B "path to build"
这些是我收到的警告:
No project() command is present. The top level CMakeLists.txt file must contain a literal, direct call to the project() command. And a line of code such as
project(projectName)
near the top of the CMake file, but after cmake_minimum_required().
CMake is pretending there is a "project(projectName)" command on the first line.
This warning is for project developers. Use who-dev to supress it.
除此之外,它还建造了这座建筑
这是我目前的项目树
这就是 /build
中的内容
但是我不知道这之后该怎么办?我如何开始创建测试?如果可能的话,我想在我当前的解决方案中创建另一个项目,这样我就可以 运行 单独测试
这是什么意思
google测试项目是我想要运行我的测试的地方
这是我的项目树在
之后的样子
按照这个 link 到 T:https://www.bogotobogo.com/cplusplus/google_unit_test_gtest.php
您将不必使用 CMake。
在VS2019中,为了获取win32静态库和控制台应用程序,在新建项目部分,语言标签中select C++,平台标签中Windows,所有项目类型在类型标签中。然后向下滚动找到 Windows 桌面向导和 select 它。其余按照教程进行。
我已经尝试在 visual studio 2019 年设置 google 测试 v1.10 很长时间了,但一直没有用,而且也发生了很多变化.大多数教程都没有数据,Microsoft 帮助页面说使用 google 测试适配器,但我有一个已经存在的项目,我想添加 google 测试。我已经参考了 google 测试安装页面(https://github.com/google/googletest/blob/master/googletest/README.md)并尝试使用 cmake 方法进行设置,但它不起作用,而且 cmake 方法有点复杂。我想知道是否有人可以帮助像我这样的假人的步骤?我觉得这也会帮助那些目前正在尝试设置它但也遇到困难的人。
这就是我为 cmake 所做的事情:
在 vs 中创建了一个空项目,并添加了一个 source.cpp 文件和一个 Header.h 文件(示例)。
我创建了一个 CMakeLists.txt 和一个 CMakeLists.txt.in 文件并将其复制粘贴到 第一个(为我的项目做了一些调整)
# Download and unpack googletest at configure time
configure_file(CMakeLists.txt.in googletest-download/CMakeLists.txt)
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download )
if(result)
message(FATAL_ERROR "CMake step for googletest failed: ${result}")
endif()
execute_process(COMMAND ${CMAKE_COMMAND} --build .
RESULT_VARIABLE result
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download )
if(result)
message(FATAL_ERROR "Build step for googletest failed: ${result}")
endif()
# Prevent overriding the parent project's compiler/linker
# settings on Windows
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
# Add googletest directly to our build. This defines
# the gtest and gtest_main targets.
add_subdirectory(${CMAKE_CURRENT_BINARY_DIR}/googletest-src
${CMAKE_CURRENT_BINARY_DIR}/googletest-build
EXCLUDE_FROM_ALL)
# The gtest/gtest_main targets carry header search path
# dependencies automatically when using CMake 2.8.11 or
# later. Otherwise we have to add them here ourselves.
if (CMAKE_VERSION VERSION_LESS 2.8.11)
include_directories("${gtest_SOURCE_DIR}/include")
endif()
# Now simply link against gtest or gtest_main as needed. Eg
add_executable(test_ source.cpp)
target_link_libraries(test_ gtest_main)
add_test(NAME example_test COMMAND test)
和CMakeLists.txt.in
cmake_minimum_required(VERSION 2.8.2)
project(googletest-download NONE)
include(ExternalProject)
ExternalProject_Add(googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG master
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-src"
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-build"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
)
- 我在我的项目文件中创建了一个构建文件夹
- 我使用终端的 cmake 命令将其构建到构建文件夹中 像这样
cmake -S "path to src code" -B "path to build"
这些是我收到的警告:
No project() command is present. The top level CMakeLists.txt file must contain a literal, direct call to the project() command. And a line of code such as
project(projectName)
near the top of the CMake file, but after cmake_minimum_required().
CMake is pretending there is a "project(projectName)" command on the first line.
This warning is for project developers. Use who-dev to supress it.
除此之外,它还建造了这座建筑
这是我目前的项目树
这就是 /build
中的内容但是我不知道这之后该怎么办?我如何开始创建测试?如果可能的话,我想在我当前的解决方案中创建另一个项目,这样我就可以 运行 单独测试
这是什么意思
google测试项目是我想要运行我的测试的地方
这是我的项目树在
之后的样子按照这个 link 到 T:https://www.bogotobogo.com/cplusplus/google_unit_test_gtest.php 您将不必使用 CMake。
在VS2019中,为了获取win32静态库和控制台应用程序,在新建项目部分,语言标签中select C++,平台标签中Windows,所有项目类型在类型标签中。然后向下滚动找到 Windows 桌面向导和 select 它。其余按照教程进行。