高效工作、快乐生活

在pocket pc 2003下使用google Test

上一篇 / 下一篇  2010-05-13 11:06:02 / 个人分类:单元测试

pocket pc 2003下使用google Test

 

经过几天的查资料和交流,终于可以在pocket pc 2003上运行google test了。下面介绍如何在xpppc下搭建gtest

缩略语:

PPC       == pocket pc 2003

Gtest      == google testing framework

Gtest介绍:

Google's framework for writing C++ tests on a variety of platforms (Linux, Mac OS X, Windows, Cygwin, Windows CE, and Symbian). Based on the xUnit architecture. Supports automatic test discovery, a rich set of assertions, user-defined assertions, death tests, fatal and non-fatal failures, value- and type-parameterized tests, various options for running the tests, and XML test report generation.

简单翻译过来是:

Gtest支持各种平台(Linux, Mac OS X, Windows, Cygwin, Windows CE, and Symbian),它是基于xUnit构架的。支持自动化测试包含诊断,用户自定义的诊断,death tests,致命和非致命的失败,值和类型参数化的测试,各种测试选项,测试结果输出支持控制台和xml格式输出2种方式。

所以总结出来就是简洁和跨平台。

一、xp下使用gtest

1.     下载源代码,从http://code.google.com/p/googletest/downloads/list上下载最新的测试代码

【注:】

1)     http://googletest.googlecode.com/svn/trunk/得到最新的源码更好,否则在ppc下编译不通过。

2)     如果遇到问题,可以在http://code.google.com/p/googletest/issues/list上可以查看客户反映的问题

2.     windows xp下编译win32对应的库:

1)     vs2008打开msvc下的sln

2)     选择平台win32,编译debuglib

3.     在新工程下使用gtest

1)     新建测试项目:新建一个项目TestGTestForXp

2)     拷贝头文件和lib库:拷贝gtestincludeTestGTestForXp.vcpro的父目录,拷贝gtestd.libTestGTestForXp.vcpro的父目录的lib文件夹下(自己建)

3)     TestGTestForXp.cpp下代码:

 

1.   #include "stdafx.h"

2.     #include "gtest/gtest.h"

3.   int add(int a, int b)

4.   {

5.       return a+b;

6.   }

7.    

8.   TEST(AddTest, TestNonNegativeNumber)

9.   {

10.     EXPECT_EQ(3, add(1,2));

11.     EXPECT_EQ(115, add(1,114));

12. }

13.  

14. int _tmain(int argc, _TCHAR* argv[])

15. {

16.     testing::InitGoogleTest(&argc, argv);

17.     RUN_ALL_TESTS();

18.     return 0;

19. }

 

4)     编译-连接-运行(直接F5),则可以看到测试效果

 

二、WinCE下使用gtest

WinCE下使用gtest比较麻烦,有是重点

1.     如何在wince上显示控制台?

因为wince是不显示控制台的,如果运行带控制台的程序,什么也看不到,所以想用gtestconsole里面输出结果,可以这样做:

ü 下载console.dll,拷贝到windows

ü 修改注册表HKEY_LOCAL_MACHINE\Drivers\Console0

2.     如何编译ppcgtestlib库?

ü 参考:http://www.mivi.name/blog/index.php?itemid=257在迁移evcproject时,
 Ignore Specific Library
(忽略特定库)加上oldnames.lib
AdditionalDependencies
(附加依赖项)加上commctrl.lib coredll.lib aygshell.lib secchk.lib ccrtrtti.lib

 

ü 参考:http://blog.csdn.net/wincemobile/archive/2009/02/12/3883493.aspx

Project --> Settings --> Link tab --> Category = Output
-->Entry-point symbol: WinMainCRTStartup ==> mainACRTStartup

TAG:

 

评分:0

我来说两句

xavier_007

xavier_007

目前从事gis行业导航相关测试; 熟悉语言c/cpp/vbs/lua/java 熟悉工具gtest/autoit/qtp/lr 良好英语和思维能力

日历

« 2024-04-27  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 11287
  • 日志数: 18
  • 建立时间: 2008-11-26
  • 更新时间: 2012-11-21

RSS订阅

Open Toolbar