有了阿里云服务器怎么做网站,为什么需要网站开发,彩票自己开盘做网站,如何做自己网站的seo文章目录 环境的配置方法1#xff1a;从源代码构建第一步#xff1a;克隆库的源代码第二步#xff1a;构建库 方法 2#xff1a;使用 CMake 的 FetchContent示例 CMakeLists.txt 项目的创建项目结构CMakeLists.txt (根目录)main.cpp (示例程序)tests/CMakeLists.txt (测试部… 文章目录 环境的配置方法1从源代码构建第一步克隆库的源代码第二步构建库 方法 2使用 CMake 的 FetchContent示例 CMakeLists.txt 项目的创建项目结构CMakeLists.txt (根目录)main.cpp (示例程序)tests/CMakeLists.txt (测试部分)tests/MyClassTest.cpp (示例测试)终端命令添加一个测试用例注意事项 环境的配置
Google Mock 和 Google Test环境配置
方法1从源代码构建
第一步克隆库的源代码
你可以使用 git 来克隆 gTest 和 gMock 的代码
git clone https://github.com/google/googletest.git第二步构建库 进入 googletest 目录 cd googletest创建构建目录并构建 mkdir build
cd build
cmake ..
make安装 如果你希望将库安装到系统目录可以使用 sudo make install要安装 Google MockgMock和 Google TestgTest库你可以通过几种方法进行下面将介绍常用的两种方法使用包管理器和从源代码构建。
方法 2使用 CMake 的 FetchContent
如果不想手动安装库可以在 CMake 项目的 CMakeLists.txt 中使用 FetchContent 来自动下载并构建 gTest 和 gMock。
示例 CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(MyGMockProject)set(CMAKE_CXX_STANDARD 11)include(FetchContent)# Fetch GoogleTest
FetchContent_Declare(googletestGIT_REPOSITORY https://github.com/google/googletest.gitGIT_TAG release-1.11.0 # 选择合适的版本
)FetchContent_MakeAvailable(googletest)# 添加源文件
set(SOURCE_FILES main.cpp MyClass.cpp)
set(TEST_FILES MyClassTest.cpp)# 创建可执行文件
add_executable(MyExecutable ${SOURCE_FILES})# 创建测试可执行文件
add_executable(MyTests ${TEST_FILES})# 链接 gMock 和 gTest
target_link_libraries(MyTests gmock gtest gmock_main gtest_main)项目的创建
在 Visual Studio Code (VSCode) 中使用 Google Mock 和 Google Test 的完整流程如下
项目结构
创建一个新的文件夹。然后在该文件夹中创建以下结构
MyGTestProject/
├── CMakeLists.txt
├── main.cpp
└── tests/├── CMakeLists.txt└── MyClassTest.cppCMakeLists.txt (根目录)
在 MyGTestProject/CMakeLists.txt 中添加以下内容 使用方法二配置环境
cmake_minimum_required(VERSION 3.10)
project(MyGTestProject)set(CMAKE_CXX_STANDARD 11)# Fetch Google Test
include(FetchContent)
FetchContent_Declare(googletestGIT_REPOSITORY https://github.com/google/googletest.gitGIT_TAG release-1.11.0 # 最后用于 1.11.0或选择任意合适版本
)FetchContent_MakeAvailable(googletest)# 添加主程序文件
add_executable(MyExecutable main.cpp)# 添加测试子目录
add_subdirectory(tests)main.cpp (示例程序)
在 MyGTestProject/main.cpp 中添加以下代码
#include iostreamint main() {std::cout Hello, Google Test! std::endl;return 0;
}tests/CMakeLists.txt (测试部分)
在 MyGTestProject/tests/CMakeLists.txt 中添加以下内容
# 添加测试源文件
set(TEST_FILES MyClassTest.cpp)# 创建测试可执行文件
add_executable(MyTests ${TEST_FILES})# 链接 GTest 和 GMock
target_link_libraries(MyTests gmock gtest gmock_main gtest_main)# 启用测试
enable_testing()
add_test(NAME MyTests COMMAND MyTests)tests/MyClassTest.cpp (示例测试)
在 MyGTestProject/tests/MyClassTest.cpp 中添加以下测试代码
#include gmock/gmock.h
#include gtest/gtest.hTEST(SampleTest, SampleAssertion) {ASSERT_EQ(1 1, 2);
}终端命令
命令
cd MyGTestProject
mkdir build
cd build
cmake ..
make
# 运行可执行文件
./MyExecutable
# 运行测试可执行文件
./tests/MyTests添加一个测试用例
在源码中修改
#include gmock/gmock.h
#include gtest/gtest.hTEST(SampleTest, SampleAssertion) {ASSERT_EQ(1 1, 2);
}TEST(SampleTest, SampleAssertion1) {ASSERT_EQ(1 1, 2);
}注意TEST中两个参数不能全部都相同会报错。
TEST()参数从一般到具体。 第一个参数是测试套件test suite的名称 第二个参数是测试套件test suite中的测试名称 这两个名称都必须是有效的C标识符并且不应包含任何下划线_。
测试的全名由其包含的测试套件及其测试名称组成。来自不同的测试套件的测试可以具有相同的测试名称。
运行结果 注意事项
确保编译器和 CMake 版本兼容。如果遇到问题可以查看 VSCode 的输出窗口了解 CMake 和构建的详细信息。可以添加更多的测试文件只需在 tests/CMakeLists.txt 中添加这些文件的名称。