git clone https://github.com/google/googletest.git
- 编译源代码
在目录gtest\googletest\googletest\msvc下是visual studio的工程文件,可以看到2010这个文件夹。这样的话只要本机版本>=2010即可。我的是2015,因此使用2015打开并编译gtest.sln。 - 生成lib库
上一步编译成功之后会生成,gtest.lib,gtest_main.lib,gtestd.lib,gtest_maind.lib这四个文件,有了lib库和头文件(googletest\googletest目录下的include),我们就可以使用gtest了。
lib库使用
1. 新建一个工程,并将gtest的头文件目录和lib库拷贝进来 2. 测试一下求绝对值的函数,源代码如下
// liptest.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include "gtest.h"
#include "abswapper.h"
#ifdef _DEBUG
#pragma comment(lib,"gtest_maind.lib")
#pragma comment(lib,"gtestd.lib")
#else
#pragma comment(lib,"gtest_main.lib")
#pragma comment(lib,"gtest.lib")
#endif
TEST(abswapper, case1) {
EXPECT_EQ(0, getAbs(0));
EXPECT_EQ(1, getAbs(1));
ASSERT_EQ(1, getAbs(-1));
int _tmain(int argc, _TCHAR* argv[]) {
testing::InitGoogleTest(&argc, argv);
RUN_ALL_TESTS();
return 0;
// abswapper.h
#pragma once
int getAbs(int i);
// abswapper.cpp
#include "abswapper.h"
#include <math.h>
int getAbs(int i) {
// 添加了以部分逻辑处理导致进入了以下逻辑
/* add some code here */
if (i == -1) {
return -1;
return abs(i);
- 编译并运行程序,FAILED,并且结果给出了liptest.cpp中第20行未通过。
- 修改一下abswapper.cpp
#include "abswapper.h"
#include <math.h>
int getAbs(int i) {
return abs(i);
- 重新编译运行,测试通过!
lib库生成github上下载源代码git clone https://github.com/google/googletest.git编译源代码 在目录gtest\googletest\googletest\msvc下是visual studio的工程文件,可以看到2010这个文件夹。这样的话只要本机版本&amp;gt;=2010即可。我的是2015,因此使用2015打开并编译gte...
在过去的几个月中,我注意到我的私人笔记本电脑的使用寿命肯定是有限的。 考虑到新产品必须满足的要求,我意识到开发和支持Google Test Adapter在过去几年中一直是该笔记本电脑的主要用例之一。 因此,我决定以此为理由,从现在开始接受捐赠:-)
更新:在此期间,我收到了一些捐款,也收到了一些慷慨的捐款(再次感谢
我尝试了一套的gtest配置操作,方法不太主流:
1. 在windows万能的visual studio里建立cmake工程,而不是googletest工程或者一般的空工程。
2. 将gtest作为第三方库引入时,没有把gtest的源码作为子模块和自己的代码一起cmake,而是先把gtest独立build出库文件,再连到自己的代码上。
现在把整个操作过程记录在这里。
Windows下cmake安装
cmake官网
选择最新版的binary
Googletest 初级教程
本文翻译自官方文档,官方原文请见Googletest Primer
为了保证阅读的质量,本文部分内容并非直译,而是加入的译者的理解的意译。若有不足之处,还请斧正。
以下为翻译正文… …
简介:为什么选择googletest?
googletest可以帮助你更好地编写C++的测试用例。
googletest是由谷歌的测试技术团队根据Google的特定要求和约束开发的测试框架。无论你是在Linux操作系统、Windows操作系统或者Mac操作系统上工作,如果你在编写C++的代码
Google Test 是 Google 推出的一个 C++ 单元测试框架,它旨在提供简单、灵活、可扩展的单元测试工具。下面是一个简单的使用 Google Test 进行单元测试的示例:
假设我们要测试的函数是一个计算阶乘的函数,代码如下:
```c++
int Factorial(int n) {
return n <= 1 ? 1 : n * Factorial(n - 1);
我们可以使用 Google Test 编写一个测试用例,代码如下:
```c++
#include "gtest/gtest.h"
// 定义一个测试用例
TEST(FactorialTest, Zero) {
EXPECT_EQ(Factorial(0), 1);
TEST(FactorialTest, Positive) {
EXPECT_EQ(Factorial(1), 1);
EXPECT_EQ(Factorial(2), 2);
EXPECT_EQ(Factorial(3), 6);
EXPECT_EQ(Factorial(10), 3628800);
int main(int argc, char **argv) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
在上面的代码中,我们定义了两个测试用例,一个测试输入为 0 的情况,另一个测试输入为正整数的情况。在测试用例中,我们使用 `EXPECT_EQ` 宏来断言计算结果是否正确。最后,我们在 `main` 函数中使用 `testing::InitGoogleTest` 函数来初始化 Google Test 框架,并使用 `RUN_ALL_TESTS` 函数来运行所有测试用例。
注意,为了使用 Google Test,我们需要下载并安装 Google Test 库,并将其包含在项目中。另外,我们需要在编译时链接 Google Test 库,具体方法可以参考 Google Test 的文档。
以上是一个简单的使用 Google Test 进行单元测试的示例,你可以根据自己的需要进行修改和扩展。
CSDN-Ada助手:
GPS几种基本定位模式原理概述及精度介绍
ice-cream~:
windows 下使用cmake指定visual studio 版本
对流层顶的圆白菜:
rtklib中的基线约束应对观测条件糟糕的GNSS数据
MicroGRIT: