当前位置: 首页 > news >正文

西安模板做网站福州定制网站开发制作

西安模板做网站,福州定制网站开发制作,打开网站是iis7,免费投票网站制作背景 TDD测试驱动开发是当前流行的开发方法及模式。遵循TDD的方法对开发程序库(Library)特别有用#xff0c;因为Library就是为第三方提供一定功能接口的实现#xff0c;使用TDD的方法可以预先为定义的接口提供测试案例#xff0c;保证实现代码能通过测试#xff0c;保证Li…背景 TDD测试驱动开发是当前流行的开发方法及模式。遵循TDD的方法对开发程序库(Library)特别有用因为Library就是为第三方提供一定功能接口的实现使用TDD的方法可以预先为定义的接口提供测试案例保证实现代码能通过测试保证Library能如实的实现预定义的功能。我之前开发的Mobile Sensors API的库由于没有编写单元测试得到了一些不好的反馈现在把单元测试引进到该库里面提高该库的质量。关于该Mobile Sensors API库的开发可以参考 Windows Mobile下的重力感应器(Gravitational Sensor)开发。关于wince和Windows mobile下的native C的测试可以参考 Wince和Windows Mobile下native C的单元测试。关于CF平台下的测试可以参考 .NET Compact Framework下的单元测试。 使用TDD的一个实例可以参考 Windows Mobile下猜数字游戏的TDD实现。 简介 本文讲述Windows Mobile下使用CppUnitLite对native c进行unit test的时候如何把测试结果输出到文件的开发。使之支持Mobile Sensors API库。 实现 由于原版的CppUnitLite只是支持把测试结果打印到标准输出里面但是Windows Mobile默认是没有console输出的所以要对CppUnitLite进行修改使之支持把结果输入到文件里。 修改定义 #include stdio.hclass Failure;class TestResult{public: TestResult (char* _fileName 0); virtual void testsStarted ();virtual void addFailure (const Failure failure);virtual void testsEnded ();private:int failureCount;char* fileName; FILE* fileStream;}; 这个功能的实现需要修改TestResult类首先增加fileName变量保持输出文件路径和名字增加fileStream保存文件流的句柄。然后修改TestResult的构造函数原构造函数是没有输入参数的如TestResult ();修改为增加文件路径和名字输入参数。 TestResult (char* _fileName 0);为了保持原先client代码的源码级兼容这个参数有默认值为0(空,NULL)。这里说的client源码级的兼容是指client的代码不需要进行任何的修改就可以支持修改后的新库这符合软件设计过程的Open-Close Principle。但是这修改不支持运行时兼容client需要重新编译(因为头文件修改了)和链接(因为CppUnitLite静态库更新了)。 更新实现 TestResult::TestResult (char* _fileName) : failureCount (0), fileName(_fileName){} 修改构造函数把输入保存到成员变量中。 void TestResult::testsStarted () {if(fileName ! NULL) { fileStream fopen(fileName, w); }else{ fileStream stdout; }} 修改启动测试函数当文件名不为空的时候生成输出文件流(stream)。如果为空时使用标准输出流。 void TestResult::addFailure (const Failure failure) { fprintf (fileStream, %s%s%s%s%ld%s%s\n,Failure: \, failure.message.asCharString (),\ ,line , failure.lineNumber, in , failure.fileName.asCharString ()); failureCount;} 把错误信息输出到输出流中。 void TestResult::testsEnded () {if (failureCount 0) fprintf (fileStream, There were %ld failures\n, failureCount);elsefprintf (fileStream, There were no test failures\n);if(fileName ! NULL fileStream ! NULL) { fflush(fileStream); fclose(fileStream); fileStream NULL; }} 清理资源在Wince和Windows Mobile下有时候需要显式(explicit)的调用fflush否则有些输出不能同步到文件中去。 Client的修改 //Unit TestTestResult tr(TestResult.txt);TestRegistry::runAllTests(tr); 修改client的代码很简单只需要在生成TestResult 的对象是传递文件名就可以了如果不传递绝对路径文件会生成到根目录下。 关于Mobile Sensors API项目 这个项目还是在起步阶段当前实现了samsung的重力感应器我把项目host到 Mobile Sensors API - Native unified APIs for Windows Mobile Sensors 了我会持续改进把各种sensors的实现到这个项目中。 由于我手头上没有HTC的机器如果谁有兴趣可以加入到项目中帮我测试HTC设备由于加入了Unit Test测试变得很简单只需要执行程序参考测试输出文件就可以了不需要调试。当然这个测试过程是一个不断迭代的过程只是Unit Test把子过程简单化了。源代码http://mobilesensor.codeplex.com/SourceControl/ListDownloadableCommits.aspx 环境VS2008 WM 6 professional SDK Samsung Windows Mobile SDK
http://www.zqtcl.cn/news/277690/

相关文章:

  • 个人备案网站可以做支付吗做娱乐新闻的网站有哪些
  • 国家建设部网站网站导航如何做半透明
  • 长治网站设计制作网站网站是用什么软件做的
  • wordpress成长记录网站模版市场推广方案ppt
  • 外贸网站建设560wordpress 在线音乐播放器
  • 大连哪里有手机自适应网站建设维护交互式网站开发技术asp
  • 潍坊做网站多少钱个人业务网站带后台
  • 网站建设灬金手指科杰全部游戏免费(试玩)
  • 石家庄网站设计宜昌市住房和城乡建设局网站
  • 商城型企业网站的功能中山市中国建设银行网站
  • 公司做网站那个网站好网站推广seo方法
  • 赣州制作网站百度贵州icp网站备案中心
  • 阿里云域名如何做网站如何查询网站快照
  • 温州市城乡建设厅网站首页有没有做网站的多少钱
  • 网站建设实训报告建议缘震网络网站建设之f套餐
  • 网上免费注册qq网站wordpress怎么发布网站
  • 网站没有根目录国内互联网建站公司排名
  • 做网站需要架构师吗鞍山贴吧最新消息
  • 大连网站关键词推广网站建设合同报价
  • 网站维护费用一年多少广州h5网站建设
  • 如何搭建静态网站源码手机开发软件app的工具
  • 之前做的网站推广怎么删除专业做网站官网
  • 泉州做 php 网站宁波信息港
  • 网站建设专员招聘如何建立网站会员系统
  • 佛山网站关键词自助建站教程
  • 海口网站seo做网站域名后缀选择
  • 网站建设新手看什么书网络营销推广师
  • 小浣熊做单网站观看床做视频网站
  • 网站版面布局结构图门户网站要求
  • 网站左侧广告代码网站建设交接协议书