- gtest_main.cc :测试主程序入口,不是我们待测源码的主程序入口,所以整个工程其实可能有两个main函数,一个是测试的main,一个可能是待测源码的main,两个包含main的文件不能同时编译,因为一个执行程序只能有一个入口。
- sample1.cc:待测源码,就是测试对象,我们就是要对个源码进行白盒测试。
- sample1_unittest.cc:测试用例,里面就是我们针对源码写的测试用例脚本。
- 编译时要源码、测试主程序、测试用例一起编译(可以使用Makefile来管理工程的编译,就不用命令行输入那么长命令进行编译)
- 可以参考谷歌原生的例子,先学习学习谷歌的大神怎么写用例的。
文章目录一、概述二、源码获取三、源码编译四、安装五、执行谷歌自带测试用例六、几点说明一、概述最近在做白盒测试,没怎么接触C++和linux,现在要做C++的白盒测试,确定的方案是使用GTEST。环境在linux上搭建,就学习了起来,边学边用,并记一下笔记备忘。备注:当前linxu环境默认已配置好c++的一些编译环境,比如CMake、Make等。二、源码获取git仓库地址: https://github.com/google/googletest有git账号的可以使用git直接clone,没有的
1. 下载 gtest 源码包,并解压,如:/home/hdc/gtest-1.7.0;
2. 编译 gtest 动态库,进入 gtest-1.7.0 目录,编辑 CMakeLists.txt,修改如下几行:
10 option(BUILD_SHAR
1. 再次捡起GTest
以前的老资料:http://blog.csdn.net/printf1998/archive/2011/01/02/6112922.aspx
新的资源:http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html
2. 运行GoogleTest Sample在VMware/Redhat ent
之前也接触过googleTest但是一直没有弄好,总是出各种各样的错误,今天下午再试了试结果还给搞定了。
首先是从GitHub上下载Googletest的源码,用cmake进行编译,准备工作就是先安装好cmake,这个很简单。然后就是通过cmake来编译googletest。这个折腾了我半天,这里我就再演示一边。我把编译好的Googletest删除重新弄一下。
下载googletest
GitHub - google/googletest: GoogleTest - Google Test..
在 Google Test 1.10 之后,Google Test 不再提供计时器类。但是,您可以使用 `std::chrono` 库提供的计时器来测试代码执行时间。
以下是一个示例程序,演示如何使用 `std::chrono` 库测试代码执行时间:
```cpp
#include <gtest/gtest.h>
#include <chrono>
TEST(MyTestSuite, MyTestCase) {
auto start = std::chrono::high_resolution_clock::now();
// 调用需要测试代码的函数
auto end = std::chrono::high_resolution_clock::now();
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start);
std::cout << "Code execution time: " << duration.count() << "ms" << std::endl;
// 进行测试断言
ASSERT_TRUE(true);
在测试用例中,我们使用 `std::chrono::high_resolution_clock::now()` 获取当前时间作为开始时间,执行需要测试的代码,然后再次调用 `std::chrono::high_resolution_clock::now()` 获取当前时间作为结束时间。然后,我们计算时间差,并将其转换为毫秒。最后,我们可以将执行时间输出到控制台,并进行测试断言。
需要注意的是,`std::chrono::high_resolution_clock` 可能会因平台或编译器的不同而有所不同。如果您需要更高精度的计时器,可以使用 `std::chrono::steady_clock`。