git clone https://github.com/google/googletest.git
  1. 编译源代码
    在目录gtest\googletest\googletest\msvc下是visual studio的工程文件,可以看到2010这个文件夹。这样的话只要本机版本>=2010即可。我的是2015,因此使用2015打开并编译gtest.sln。
  2. 生成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);
  1. 编译并运行程序,FAILED,并且结果给出了liptest.cpp中第20行未通过。
    这里写图片描述
  2. 修改一下abswapper.cpp
#include "abswapper.h"
#include <math.h>
int getAbs(int i) {
    return abs(i);
  1. 重新编译运行,测试通过!
    这里写图片描述
lib库生成github上下载源代码git clone https://github.com/google/googletest.git编译源代码 在目录gtest\googletest\googletest\msvc下是visual studio的工程文件,可以看到2010这个文件夹。这样的话只要本机版本&amp;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 为了保证阅读的质量,本文部分内容并非直译,而是加入的译者的理解的意译。若有不足之处,还请斧正。 以下为翻译正文… … 简介:为什么选择googletestgoogletest可以帮助你更好地编写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助手: 非常感谢CSDN博主分享关于SFINAE的文章,这篇博客很详细地介绍了SFINAE的概念和应用,让我受益匪浅。我觉得下一篇博客可以探讨一下“C++模板元编程”的应用,比如如何利用SFINAE实现一些高级的模板技巧,这样的技术文章对其他用户也非常有帮助。相信会有更多读者受益于你的分享。加油! 为了方便博主创作,提高生产力,CSDN上线了AI写作助手功能,就在创作编辑器右侧哦~(https://mp.csdn.net/edit?utm_source=blog_comment_recall )诚邀您来加入测评,到此(https://activity.csdn.net/creatActivity?id=10450&utm_source=blog_comment_recall)发布测评文章即可获得「话题勋章」,同时还有机会拿定制奖牌。 GPS几种基本定位模式原理概述及精度介绍 ice-cream~: 博主好,请教一下伪距差分里的改正数怎么得到的啊,有相关的代码吗,这张伪距差分的图是怎么得到的呀? windows 下使用cmake指定visual studio 版本 对流层顶的圆白菜: 如果cmake已经安装,可能是它没有添加到环境变量中。我自己的做法是找到装cmake.exe的那个文件夹(一般是bin文件夹),把这个路径加入到环境变量path中,然后再重开cmd进行cmake就有效了 rtklib中的基线约束应对观测条件糟糕的GNSS数据 MicroGRIT: 您好,请问您解决该问题了吗?Moving-Base模式下,要添加极限约束的话,需要改constbl这个函数嘛?