关于android/ios开发中的单元测试

很多开发人员,特别是小公司的开发人员,基本上从来不用单元测试,认为直接开发既快又好,还要做单元测试浪费时间和精力。但大公司相反,比较看重单元测试。因为有单元测试的代码,相对稳定可靠,而且如果开发人员习惯了以测试为驱动的开发,也会觉得这样的方式很不错。
  以测试为驱动的开发模式是:开发之前,先想好要做什么,然后把对外的接口设计好,就可以先写单元测试的代码。之后再进行实际代码的开发,开发完成之后,再跑一遍之前写的单元测试,如果失败则调试,直到最终成功,会让开发人员特有成就感。
  单元测试也特别适合于敏捷开发,开发新的功能以后,你不知道会不会对以前已经稳定的功能产生影响。当然你可以手工测试一下,但一次两次手工测试没问题,多了就会发现还是单元测试好,自动跑一遍就行,更符合程序员善于使用工具的优秀品质。
  单元测试的工具,Android上使用junit加上ant脚本配合,ios上使用ocunit或者ghunit。虽然工具不同,但思想类似。
  当然,并不是所有项目都一定要做单元测试最好。本人以前的项目,有用单元测试的,也有不用的,这里总结一下使用单元测试的2个原则。
  1. 项目的规模原则。 如果是小项目,开发完就扔给客户,后期基本不用维护。那就偏向于直接开发,极快又好,你做得单元测试再多客户也看不见,做的快还能被客户夸。如果是大项目,你做第n个模块的时候,第1个模块的细节已经忘得差不多了,那这时候有单元测试可以帮助你确认前面模块的可靠性。
  2. 因人而异原则。每个人的开发水平和性格不一样,有些人天性谨慎,开发的代码bug比较少,有些人比较粗放,bug就相对比较多。有了bug就需要测试和调试,当测试和调试的时间大于开发的时间时,建议下个项目使用单元测试模式开发。单元测试可以尽早让你发现代码中的问题,bug越早发现越容易解决。
最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-10-02 22:20:13

关于android/ios开发中的单元测试的相关文章

iOS开发中的单元测试(二) 让断言活泼起来的匹配引擎

上一篇文章简单介绍了OCUnit和GHUnit两款iOS开发中较为常见的单元测试框架,本文进一步介绍单元测试 中的另一利器--匹配引擎(Matcher Engine).匹配引擎可以替代断言方法,配合单元测试引擎使用,测试 用例可以更多样化,更细致. 传统断言提供的方法数量和功能都有限,以导读中提到的两款框架为例 ,即使是断言相对丰富的GHUnit也只是提供了38种断言方法,范围仅涵盖了逻辑比较,异常和出错等少数几方 面,仍然很单一.而使用匹配引擎代替断言,可能性就大大丰富了,除了普通断言支持的规

iOS开发中的单元测试(一) 对比OCUnit和GHUnit

本文不讨论单元测试是什么,或者它之于一个工程的利弊,我认为单元测试是一个开发者保证产出代码质 量的有效工具.本文从使用者的角度对比当下比较流行的两款单元测试框架,给大家提供一些选用建议.如果 你还不甚了解单元测试在工程中所起到的作用,或者还不知道TDD的开发模式,可参考:Test-Driven Development和Unit Testing. 本文对比两个iOS开发中常见的单元测试框架:OCUnit,被官方集成进XCode 4.x版本中:GHUnit,被推荐 最多的测试框架,带GUI界面.初窥

iOS开发中的单元测试(三)URLManager中的测试用例解析

URLManager是一个基于UINavigationController和UIViewController,以URL Scheme为设计基础的导航控件,目的是实现ViewController的松耦合,不依赖. 准备框架,定义基类 首先按照之前的两篇文章介绍的方法导入单元测试框架和匹配引擎框架,建立好测试Target,并配置编译选项. 定义测试用例基类:UMTestCase(代码1),其他用例全部继承自UMTestCase. #import <GHUnitIOS/GHTestCase.h> @

Android应用开发中单元测试分析_Android

本文主要和大家分享如何在Android应用开发过程中如何进行单元测试,个人在做项目的过程中,觉得单元测试很有必要,以保证我们编写程序的正确性.下面我们先大概了解下单元测试,以及单元测试的作用.        单元测试(又称为模块测试)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可测试部件.在过程化编程中,一个单元就是单个程序.函数.过程等:对于面向对象编程,最小单元就是方法,包括基类(超类).抽象类.或者派生类(子类)中的方法.单元测试是由程序员自己来完成

Android应用开发中单元测试分析

本文主要和大家分享如何在Android应用开发过程中如何进行单元测试,个人在做项目的过程中,觉得单元测试很有必要,以保证我们编写程序的正确性.下面我们先大概了解下单元测试,以及单元测试的作用.        单元测试(又称为模块测试)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可测试部件.在过程化编程中,一个单元就是单个程序.函数.过程等:对于面向对象编程,最小单元就是方法,包括基类(超类).抽象类.或者派生类(子类)中的方法.单元测试是由程序员自己来完成

iOS 开发中的 Flux 架构模式

本文讲的是iOS 开发中的 Flux 架构模式, 在半年前,我开始在 PlanGrid iOS 应用程序中采用 Flux 架构(开发).这篇文章将会讨论我们从传统的 MVC 转换到Flux的动机,同时分享我们目前积累到的经验. 我尝试通过讨论代码来描述我们大部分的 Flux 实现, 它用于我们今天的产品中. 如果你只对综合结果感兴趣, 请跳过这篇文章的中间部分. 为什么从 MVC 转移 为了引入我们的决定, 我想要先谈一谈 PlanGrid 这个应用遇到的一些挑战.一些问题仅针对企业级应用程序,

iOS开发中常用的数学函数

iOS开发中常用的数学函数   /*---- 常用数学公式 ----*/ //指数运算 3^2 3^3 NSLog(@"结果 %.f", pow(3,2)); //result 9 NSLog(@"结果 %.f", pow(3,3)); //result 27 //开平方运算 NSLog(@"结果 %.f", sqrt(16)); //result 4 NSLog(@"结果 %.f", sqrt(81)); //result

ios开发中uiscrollview里嵌套一个uiscrollview

问题描述 ios开发中uiscrollview里嵌套一个uiscrollview ios开发中uiscrollview里嵌套一个uiscrollview 其中小得scrollview是一个用于放滚动图片的.大得scrollview是用于整个view滚动的..其中还有很多别的view譬如imageview等,现在遇到这样的问题:我滚动大得scrollview,放滚动图片的scroll不跟着动,就一直悬在固定的位置.求解 急呀 解决方案 如果小的uiscrollview是作为subview添加到外部

ios开发中时间转换的方法集锦

  这篇文章主要介绍了ios开发中时间转换的方法集锦,需要的朋友可以参考下 在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理. 例如: //实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //设定时间格式,这里可以设置成自己需要的格式 [dateFormatter setDateFormat:@"yy