博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MFC程序使用GTest搭建测试框架
阅读量:5040 次
发布时间:2019-06-12

本文共 1040 字,大约阅读时间需要 3 分钟。

一、起源

最近对单元测试比较感兴趣,之后就上网搜了一些测试的框架,C++项目使用的测试框架基本上都使用的GoogleTest,之后就开启了gtest的学习之路。

主要是根据《》这个系列的博客来学习的。

因为平时的项目主要是MFC项目,就想着给MFC程序搭建一个测试框架出来,上网搜主要都是《》类似的。

跟着网上的教程走了很多遍,都没有成功,网上又没有更多的相关资料,就放弃在MFC项目中直接搭建测试框架的想法。

二、解决方案

既然不能直接在MFC程序中运行gtest,那就新建一个控制台项目,引用需要测试的MFC项目就行了。

接下来我们用这种方式来搭建一个测试框架吧。

1、新建MFC程序

建MFC程序的过程就不讲了,结果如下:

2、在当前的解决方案下新建一个控制台程序,如图:

3、在新建的DemoTest项目中搭建gtest测试环境

步骤参考《》,实测有用。

4、设置DemoTest项目引用Demo项目

  光标移至DemoTest项目,右击 --》 引用 --》添加新引用 ,选择Demo项目,点击确定即可。

5、在Demo中新建include.h文件,将需要测试的类所在文件引用的此文件中。

新建一个测试类CTest 代码如下:

1 #pragma once  2  3 class CTest 4 { 5 public: 6     int TestAdd(int a, int b) 7     { 8         return a+b; 9     }10 };

将CTest头文件引用到include.h中。

6、在DemoTest项目中包含Demo项目的include.h路径

选中DemoTest点击右键 --》属性 --》C++目录 --》包含目录 选择Demo项目 include文件所在目录

7、测试和结果

在DemoTest 项目中新建TestCase文件,代码如下

1 #pragma once2 #include 
3 #include "include.h"4 5 TEST(ADDTEST,testadd)6 {7 CTest* addtest = new CTest;8 EXPECT_EQ(10,addtest->TestAdd(4,6));9 }

运行DemoTest项目 结果如下:

 

转载于:https://www.cnblogs.com/Alvinyk/p/7772655.html

你可能感兴趣的文章
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
ACdream 1115 Salmon And Cat (找规律&&打表)
查看>>
JSON、JSONP、Ajax的区别
查看>>
AngularJS学习篇(一)
查看>>
【转载】 IP实时传输协议RTP/RTCP详解
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
Linux系统的数据写入机制--延迟写入
查看>>
css3动画——基本准则
查看>>
javaweb常识
查看>>
Java注解
查看>>
时间>金钱
查看>>
元数据元素
查看>>
Visual Studio Code 构建C/C++开发环境
查看>>
web自己主动保存表单
查看>>
lua基金会【五岁以下儿童】I/O文件操作
查看>>
一个小的日常实践——高速Fibonacci数算法
查看>>
创建与删除索引
查看>>
java的基本数据类型
查看>>
机器学些技法(9)--Decision Tree
查看>>
静态页面复习--用semantic UI写一个10min首页
查看>>