ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

gtest

2019-12-28 16:53:41  阅读:383  来源: 互联网

标签:factorial gtest 文件夹 右键 test unit


转载自:https://blog.csdn.net/u012515915/article/details/46942745

原文:C++ unit test start guide, how to set up Google Test (gtest) in Eclipse?

原文链接:http://www.codeproject.com/Articles/811934/Cplusplus-unit-test-start-guide-how-to-set-up-Goog

 

介绍

软件测试是一个庞大而复杂的主题。单元测试是一种将一个类与其他类隔离开来的测试。单元测试的目的是将程序的每一部分与其他部分隔离开来,证实每一部分的正确性。

背景

Googletest是一个非常著名的C++单元测试框架。它可以在不同平台上工作(Linux, Mac OS X, Windows, Cygwin, Windows CE, 以及Symbian),它基于xUnit体系结构。支持自动测试发觉,提供了一套丰富的断言,支持用户自定义断言,死亡测试,致命和非致命错误,值测试和参数化测试,多种运行测试的方式,并且可以生成XML格式的测试报告。

程序设置

第一步:下载googletest

从如下路径下载googletest:

https://code.google.com/p/googletest/downloads/list

当前的版本为1.7.0

译者注:鉴于众所周知的原因,我们访问不了google,这点比较蛋疼。好在我们可以从其他渠道获取源码,比如github,地址如下:

https://github.com/smarr/googletest

第二步:解压gtest-1.7.0

解压gtest-1.7.0,然后打开gtest-1.7.0文件夹。其中包含了很多文件。“samples”给出了是个使用googletest的例子;“src”存放源文件。

第三步:在eclipse中设置googletest的工作环境

3.1步 创建unit test工程

打开eclipse,点击File->New->C++ Project

在“Project name:”栏里输入你的工程名,比如“unit_test”

然后点击next,在选择配置中选择“Debug”和“Release”

接着点击“next”

最后点击Finish,unit_test将会出现在左侧的“Project Explorer”表中。

3.2步 添加googletest的library, source以及test文件夹

1. 右键unit_test->New->Folder,创建源代码文件夹“src”(将被测试的代码)

2. 右键unit_test->New->Folder,创建头文件文件夹“include”

3. 右键unit_test->New->Folder,创建“gtest_src”文件夹存放gtest库

4. 右键unit_test->New->Folder,创建“test”文件夹,存放测试代码

3.3步 添加googletest库,源代码以及测试代码

1. 添加googletest库到gtest_src文件夹

接下来我们要做的事是通过运行下面的命令向gtest_src文件夹添加google test库,这一步主要是将gtest.h和gtest_all.cc拷贝到gtest_src/gtest路径下

在终端运行上面的命令后,eclipse是这样的

2. 添加源代码

右键include->New->Header File,创建头文件“factorial.h”。


代码如下:

  1. //factorial.h
  2.  
  3. #ifndef FACTORIAL_H_
  4.  
  5. #define FACTORIAL_H_
  6.  
  7. int factorial(int n);
  8.  
  9. #endif /* FACTORIAL_H_ */

接着右键src->New->Sourc File,输入源代码文件名,比如“factorial.cpp”

  1. //factorial.cpp
  2. int factorial(int n) {
  3. int result = 1;
  4. for (int i = 1; i <= n; i++) {
  5. result *= i;
  6. }
  7. return result;
  8. }

3. 添加测试代码

右键test_code->New->Source File,输入测试代码文件名

测试代码:“test_factorial.cpp”

  1. //test_factorial.cpp
  2.  
  3. # include "gtest/gtest.h"
  4. # include "factorial.h"
  5.  
  6. TEST(IntegerFunctionTest, negative) {
  7. EXPECT_EQ(1, factorial(-5));
  8. EXPECT_EQ(1, factorial(-1));
  9. EXPECT_GT(factorial(-10), 0);
  10. }
  11.  
  12. TEST(IntegerFunctionTest, DISABLED_zero) {
  13. EXPECT_EQ(1, factorial(0));
  14. }
  15.  
  16. TEST(IntegerFunctionTest, postive) {
  17. EXPECT_EQ(1, factorial(1));
  18. EXPECT_EQ(2, factorial(2));
  19. EXPECT_EQ(6, factorial(3));
  20. EXPECT_EQ(40320, factorial(8));
  21. }

以及“gtest_main.cpp”

  1. // gtest_main.cpp
  2. #include <stdio.h>
  3. #include "gtest/gtest.h"
  4.  
  5. GTEST_API_ int main(int argc, char **argv) {
  6. printf("Running main() from gtest_main.cc\n");
  7. testing::InitGoogleTest(&argc, argv);
  8. return RUN_ALL_TESTS();
  9. }

第四步: 设置运行环境

1.在工程unit_test上右键->properties->C++ linker->Library->(-I)->输入“pthread”然后点击“ok”。

2.在test文件夹上右键->Properities->C/C++ Build -> Setting-> Cross G++ Compiler-> includes->Include paths(-I)点击添加按钮->输入“workspace..”以及文件夹 “include”和“gtest_src”的到该路径

3.在文件夹gtest_src上右键->Properities->C/C++ Build->Setting->Cross G++ Compiler->includes->Include paths(-I)。点击“添加”按钮->输入“workspace..”,添加文件夹“gtest_src”到该路径。

这样,运行环境就搭建好了,我们可以开始单元测试了。

第五步:运行Google Test

1.在eclipse中,点击Project->BuildAll或者用ctrl+B来build工程

2.点击Run->Run或者用ctrl+F11来执行文件。

另外,我们也可以在终端运行,进入Debug路径,执行可执行文件unit_test

我们可以看到如下这样的输出。



 

标签:factorial,gtest,文件夹,右键,test,unit
来源: https://www.cnblogs.com/Lunais/p/11317706.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有