Windows下安装谷歌测试框架Googletest并测试小例子

一、下载

https://github.com/google/googletest/tree/master
下载并解压

 新建一个build文件夹用于生成工程文件。


二、cmake

也可以使用cmake-GUI,这里我在终端执行的

 cmake成功之后,可以看到build文件夹内生成的项目文件

三、生成 

然后就可以在VS中打开了

 

 生成debug版

 

 

 生成release版

 

 

 四、使用

后面就可以配置然后用例子测试一下了。

 

 然后写个小例子:

#include<iostream>
#include "gtest/gtest.h"
using namespace std;

int add(int a, int b) {
	return a + b;
}

//这里TEST中的两个参数是自定义的,主要是为了标记,可以自定义
//一个TEST就是一个测试用例,一个测试案例中可以有多个断言
TEST(lzb, test_01) {
	EXPECT_EQ(4, add(2, 2));
	EXPECT_GE(5, add(2, 2));
}

TEST(lzb, test_02) {
	EXPECT_LE(3, add(2, 2));
}

TEST(ly, test_01) {
	EXPECT_GT(add(2, 2), 1);
}
int main() {
	testing::InitGoogleTest();	//初始化,负责注册需要运行的所有测试用例
	return RUN_ALL_TESTS();		//宏RUN_ALL_TEST负责执行所有测试,如果全部成功则返回0,否则返回1。
}

运行结果:

 ================END ================

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Google Test是C++的一种单元测试框架,可以帮助我们编写和运行自动化测试用例。下面是一个简单的例子,演示如何使用Google Test框架进行单元测试。 假设我们有一个名为`Factorial`的函数,该函数接受一个整数n并返回n的阶乘。我们想要编写一个测试来验证该函数是否按预期工作。 首先,我们需要包含Google Test头文件: ```c++ #include <gtest/gtest.h> ``` 接下来,我们定义一个测试用例: ```c++ TEST(FactorialTest, HandlesPositiveInput) { EXPECT_EQ(1, Factorial(0)); EXPECT_EQ(1, Factorial(1)); EXPECT_EQ(2, Factorial(2)); EXPECT_EQ(6, Factorial(3)); EXPECT_EQ(24, Factorial(4)); EXPECT_EQ(120, Factorial(5)); } ``` 在这个测试用例中,我们使用`TEST`宏定义了一个名为`FactorialTest`的测试用例。该测试用例包含了多个测试用例,每个测试用例都使用`EXPECT_EQ`宏来验证函数的输出是否符合预期。 最后,我们需要定义一个`main`函数并使用`RUN_ALL_TESTS`宏运行所有测试: ```c++ int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } ``` 完整代码如下: ```c++ #include <gtest/gtest.h> int Factorial(int n) { return (n <= 1) ? 1 : n * Factorial(n - 1); } TEST(FactorialTest, HandlesPositiveInput) { EXPECT_EQ(1, Factorial(0)); EXPECT_EQ(1, Factorial(1)); EXPECT_EQ(2, Factorial(2)); EXPECT_EQ(6, Factorial(3)); EXPECT_EQ(24, Factorial(4)); EXPECT_EQ(120, Factorial(5)); } int main(int argc, char** argv) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } ``` 在运行该测试用例之后,我们可以看到测试结果: ``` [==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from FactorialTest [ RUN ] FactorialTest.HandlesPositiveInput [ OK ] FactorialTest.HandlesPositiveInput (0 ms) [----------] 1 test from FactorialTest (0 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test case ran. (0 ms total) [ PASSED ] 1 test. ``` 这表示所有测试都通过了。如果其中一个测试失败,将会显示失败的详情。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值