linuxC++新项目怎么加入gtest框架
时间: 2024-01-21 09:20:12 浏览: 85
GoogleC++单元测试框架---Gtest框架简介
首先,确保你已经安装了 GTest 框架。如果没有安装,请参考 GTest 官方文档进行安装。
接下来,假设你已经有一个名为 `my_project` 的 C++ 项目,并且该项目的根目录下已经有一个名为 `src` 的文件夹用于存放源代码,一个名为 `include` 的文件夹用于存放头文件。
1. 在项目根目录下创建一个名为 `test` 的文件夹,用于存放测试代码。
2. 在 `test` 目录下创建一个名为 `CMakeLists.txt` 的文件,并添加以下内容:
```
cmake_minimum_required(VERSION 3.10)
project(my_project_tests)
set(CMAKE_CXX_STANDARD 11)
# 添加 GTest 库
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})
# 添加测试文件
add_executable(my_project_tests
test/test_main.cpp
# 添加其他测试文件
)
# 链接 GTest 库
target_link_libraries(my_project_tests ${GTEST_LIBRARIES} pthread)
# 添加测试
add_test(NAME my_project_tests COMMAND my_project_tests)
```
这段代码使用 CMake 构建了一个名为 `my_project_tests` 的测试项目,并链接了 GTest 库,同时添加了一个名为 `my_project_tests` 的测试。请确保将 `test/test_main.cpp` 替换为你实际的测试文件。
3. 在 `test` 目录下创建一个名为 `test_main.cpp` 的文件,并添加以下内容:
```
#include <gtest/gtest.h>
int main(int argc, char **argv) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
```
这段代码是测试用例的入口文件,它使用 GTest 框架初始化测试环境,并运行所有测试用例。
4. 在 `test` 目录下创建一个名为 `test_sample.cpp` 的文件,并添加以下内容:
```
#include <gtest/gtest.h>
TEST(SampleTest, Test1) {
EXPECT_EQ(2 + 2, 4);
}
TEST(SampleTest, Test2) {
EXPECT_TRUE(true);
}
```
这段代码是一个简单的测试用例,它包含两个测试。第一个测试用例测试 2 + 2 是否等于 4,第二个测试用例测试 true 是否为真。
5. 在项目根目录下打开终端,输入以下命令编译测试项目:
```
mkdir build
cd build
cmake ..
make
```
6. 运行测试用例,输入以下命令:
```
./my_project_tests
```
如果一切顺利,你应该能够看到测试结果输出:
```
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from SampleTest
[ RUN ] SampleTest.Test1
[ OK ] SampleTest.Test1 (0 ms)
[ RUN ] SampleTest.Test2
[ OK ] SampleTest.Test2 (0 ms)
[----------] 2 tests from SampleTest (0 ms total)
[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (0 ms total)
[ PASSED ] 2 tests.
```
这就是如何将 GTest 框架加入到你的 C++ 项目中进行单元测试。
阅读全文