Wince和Windows Mobile下native C++的单元测试

单元测试(Unit Test)已经成为开发过程中不可分割的一部分,也是refactoring的基础,在Wince和Windows Mobile开发native  C++时可以使用CppUnitLite进行单元测试。

在其他平台开发C++的时候,我一直使用CppUnit进行单元测试,可是CppUnit不支持Wince平台,因此在Wince下选择CppUnitLite进行单元测试。CppUnitLite是CppUnit的作者Michael Feathers重新开发的针对C++的单元测试框架。其开发目的是更加简便的开发单独的测试用例(只是需要一个TEST的宏就自动注册测试,而不需要同时并且分别使用函数,头文件和注册三个不同的文件。)同时CppUnitLite去掉C++的一些新特性,例如RTTI, exceptions, and templates,所以CppUnitLite更容易移植,CppUnitLite完全支持Wince和Windows Mobile。

环境搭建

下面讲述CppUnitLite在Wince和Windows Mobile下环境的搭建。

先从http://www.objectmentor.com/resources/bin/CppUnitLite.zip下载CppUnitLite。

新建一个Smart Device的项目


选择相应的平台,由于这是native的库,所以编译的Output与平台相关,使用时需要选择相应的平台。

时间: 2024-09-14 21:37:04

Wince和Windows Mobile下native C++的单元测试的相关文章

Windows Mobile下Native C++访问SqlCe的封装

背景 进行Windows Mobile的应用的开发,很多时候需要对数据库进行访问,存储和读取.可是微软没有为Native C++提供象ADO.NET下的封装,所以我自己封装了一个SqlCe访问类. 简述 本文讲述在Windows Mobile和Wince下,Native C++访问SqlCe的封装类的实现.由于微软没有为C++提供像ADO.NET的封装,为Native C++访问SqlCe制造了一定的难度,因此对OleDB访问SqlCe进行封装,方便使用SQL语句对SqlCe进行操作. SqlC

Windows Mobile下快速截屏的一种方法

    WinCE下截屏的方法有很多种,这里介绍一种利用GAPI实现的方法.GAPI是Game API的缩写,它提供了一系列函数,可以直接对屏幕缓冲区进行读/写访问.虽然现在逐渐被DirectX Mobile取代,但自从2000年首次应用在PPC上后,几乎所有的移动设备上都能看见它.GAPI主要应用于游戏开发,但也不仅限于此.下面就介绍一种在WM下如何利用GAPI快速截取屏幕的方法.  1      struct { 2           BITMAPINFOHEADER bmih; 3   

在Windows Mobile下使用MSXML

首先是头文件: #include <msxml.h> 初始化 COM 环境: hr = CoInitializeEx(NULL, 0); 创建一个 XML DOM 对象: IXMLDOMDocument *pDOM = NULL; hr = CoCreateInstance(CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER, IID_IXMLDOMDocument, (LPVOID*)&pDOM);

Windows Mobile下使用HTML控件

  在某些特殊的应用场合,我们很想要一个类似IE功能的模块,定制自己的功能. HTML控件现在向我们张开了怀抱.稍稍奇怪的是,它并不完全支持WAP协议.看来,IE还是做了自己的解析. 首先,我们要注册一下控件.把Htmlctrl.h包含进来,调用InitHTMLControl()函数,里面的参数为应用程序句柄.以下代码在MFC中使用: VERIFY(InitHTMLControl(AfxGetInstanceHandle())); DWORD dwStyle = WS_CHILD | WS_VI

Windows mobile下,pocket PC 和 PC上BS系统的文件传输!

问题描述 我们现在有一个系统是BS架构的,现在想把上面的数据转成文件并传输到PocketPC上,不知道用什么方法可以做,还有就是反过来,把PocketPc上的文件反传到PC上,让BS系统去读,这怎么做啊,请各位帮忙,谢谢! 解决方案 解决方案二:该回复于2007-12-04 11:17:31被版主删除

艾伟_转载:Windows Mobile开发,Native C++ PK .NET Compact Framework

缘由 经常听到一些刚刚接触Windows Embedded CE和Windows Mobile开发的人会提出一些疑问.进行Windows Mobile开发,到底使用什么语言呢?C++还是C#?Java行不行?下面就我自己的想法讲述一下Native C++ 和 .NET Compact Framework的异同和选择.   什么是Native Native翻译成原生,Native是使用C,C++或者汇编等语言代码编写的,编译成处理器相关的binary文件(执行文件,DLL等可执行文件), 关于可执

Windows Mobile 消息钩子(1)

    在Windows中,设置键盘钩子很多人都做过,但是在windows Mobile系统中并没有直接的函数支持.但是我们可以通过使用undocument api来实现. 一.定义参数 #define WH_KEYBOARD_LL           20  #define HC_ACTION        0  typedef LRESULT(CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam);  typedef HHOOK

Windows mobile多国语言实现

介绍一种多国语言的实现办法,这也是微软推荐的方式,打开windows mobile下的windows目录可以看到有很多以MUI为后缀名的文件,例如shellres.dll.0804.mui. shell.dll.0804.mui......我们可以用eXeScope.exe或者resources hacker这样的文件查看器查看一下这些文件究竟是怎么一回事,不难发现文件里面都是一些资源ID和相对应的字符串.也许你就疑惑这是为什么呢?这些文件有什么作用呢?下面分解. MUI是Multilingua

Windows Mobile中使用WinCE驱动调试助手的小技巧

      驱动调试助手是针对Windows CE做的,在Windows Mobile中使用会有一些问题,最主要的就是其菜单栏被Windows Mobile系统的任务栏给遮住了,导致相应的功能无法正常使用,如下图所示.             按理来说只要将系统任务栏隐藏就可以,今天在模拟器上实验了一下,看起来是可行的.只是任务栏隐藏后,相应的区域出现画屏,如下图所示.             不知道画屏是不是模拟器的缘故,暂且不管先.驱动调试助手的菜单隐约可见,简单测试了下其中的注册表搜索的功