xyjzsh

first demo for gtest

1.  首先给出第一个运用gtest的demo
#include "stdafx.h"
#include 
"gmock/gmock-actions.h"

using namespace testing;

class Calculate
{
public:
    Calculate()
{}
    
long add(long a,long b){return a+b;}
}
;

class CalculateMock:public Calculate
{
public:
    CalculateMock():Calculate()
{}
    MOCK_METHOD2(add,
long(long a,long b));
}
;

long testFun(Calculate& cal)
{
    
return cal.add(2,3);
}

TEST(testMock,testAdd)
{
    CalculateMock obj;
    
long len = 10;
    ON_CALL(obj,add(
2,3)).WillByDefault(Return(len)); 
    EXPECT_CALL(obj,add(
2,3)).Times(1);
    
//obj.add(2,3);
    EXPECT_EQ(10, obj.add(2,3));
}


int _tmain(int argc, _TCHAR* argv[])
{
    testing::InitGoogleMock(
&argc, argv);  
    RUN_ALL_TESTS();
    
return 0;
}



做第一个demo需要注意的事项:
1. 将用到的gtest,gmock,和你自己运用的project用同样的code generation 的形式一致,将 project property->C++->Code Generation: 设置为:Multi-threaded Debug(/MTd)
2. 添加 using namespace testing, 否则会出现‘Return’Identifier not found.这样的错误

So excited to make it work after so much confusion, anxiety.
Fighting!!

posted on 2013-02-06 17:14 呆人 阅读(456) 评论(0)  编辑 收藏 引用 所属分类: gtest研究


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2013年2月>
272829303112
3456789
10111213141516
17181920212223
242526272812
3456789

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜