(六) 初次使用单元测试心得

在新中大已经三年时间,一直在弄I6p 或者i6的产品,以及框架维护。虽然以前也听说过单元测试,但是在我的概念里面压根对测试的概念!而且新中大以产品开发为主,你要跑逻辑必须将DLL 覆盖到产品上才可以弄。压根没有所谓的单元测试的概念。   所以当斯凯网络的老大让我弄iOS的单元测试时,我还是挺反感的,一直对自己有过以下疑问:

为什么要测试 ? 若要测试自己弄个按钮跑一下代码不就好了?非要写什么单元测试呢?这不是事倍功半吗?多次一举吗?

然而当我用过单元测试之后,我才明白来。原来单元测试就是让你连按钮都不用写,就可以完成你自己的独立的测试代码。 这听起来是不是很诱人?在我仔细思考后我才明白这个道理。 其实以前自己所测试的东西,都要在界面上拖一个按钮,然后点击,然后弄数据进行测试,等到测试结束后又把那些没用的代码注释掉。这样反复的来回你就会发现,原来你是那么的二!这些东西早就被伟大的工程师和设计师们帮你实现掉了。  你只要重新写一个独立的代码,可以跟主产品完全独立开就可以完成你的那些测试了,而且压根不需要删除任何代码。

有人会问:“什么叫独立的代码?”。 其实答案很简单,一个算法,一个函数,一个类。。。都算,只要你写的代码可以被客户端调用,而且是独立的并且带有一定的复杂度的就可以。太简单就没必要写了。测试的时候只要模仿可能性被其他地方调用的数据就可以了。Xcode编译器会帮你把你想要的结果输出来。错误都会帮你提示出来哟。。。。。

这里写个简单的说明如下:

- (void)testExample

{

NSString *[email protected]"http://%@/fm/queryMode";

SKYQueryModelRequest *request= [[SKYQueryModelRequest alloc] init];

[email protected]"mopote_12000001";

[email protected]"20140815073320";

request.provcie=33;

request.city=571;

request.operators=0;

NSString *[email protected]"i3yy5cpe8sn0";

request.privatekey=[SKYSignUtils signWithPdCode:request.productCode withPWD:pwd withMobile:request.telPhoneNumber clientTime:request.dateTime];

SKYQueryModelResponse *response=  [SKYCodecFactory requestWithUrl:url WithObject:request withResultName:@"SKYQueryModelResponse"];

NSLog(@"%d",response.bussinessId);

}

你将上面的方法写在单元 测试类里面即可,方法名字必须以test开头。 然后点击前面的方法名字就可以完全模拟界面上的点击操作了。。。。。哇哈哈 虽然很简单,但是第一次使用的时候还是有点小激动。 当作 一个小小的技能吧!

时间: 2024-11-20 11:01:28

(六) 初次使用单元测试心得的相关文章

小小六的前端学习心得

打算写这篇文章已经好久了,但是文采不行,不知道如何下笔,今天终于鼓起勇气用我拙劣的作文水平来讲述一下这段时间我学习前端开发的心得. 先从我的专业说起.我本人是学计算机的.全名是叫计算机科学与技术(软件方向),学校虽然是一个211学校,学习成绩也还行,但是对于编程这一块,真的是很弱很弱.所以我对计算机编程真正的学习是从实习这段时间开始的.说到这里,我必须得感谢带我进入前端的学长.因为他我才能在今天坐在这里写这篇学习心得. 所以,首先最好是有一个愿意耐心的指导你学习的人,也就是一个好的师傅.他能根据

初次使用单元测试后的体会

我们搞开发的往往觉得自己写的代码没问题,用不着测试,以前,我也这么认为,觉得测试浪费时间,也就没仔细研究过测试. 最近,闲来想试试单元测试,结合之前的编程经验,发现,单元测试至少是保证软件质量的最佳方式之一.一波一波程序员开发.维护一个产品,程序员之间的差别太大了,就像“明显没有错误”和“没有明显错误”的区别,怎么来保证产品在不断迭代中的质量,保留里面正确的部分,去掉bug呢?架构设计里面讲究面向接口,单元测试就能起到接口的作用. 通过单元测试的类,它的行为是符合当初单元设计的目标的.只要编写单

第六章 读后心得体会

编写Linux驱动程序的步骤 第一步:建立Linux驱动骨架(装载和卸载Linux驱动). Linux驱动程序一般都需要指定module_init和module_exit,因此包含这两个函数及指定这两个函数的两个宏的C程序文件也可看作是Linux骨架. 第二步:注册和注销设备文件 分别使用misc_register和misc_deregister函数创建和移除设备文件. 第三步:指定与驱动相关的信息 通过MODULE_AUTHOR,MODULE_LICENSE,MODULE_ALLAS,MODU

记小曼巴初次的设计心得

公元2017-10-24,星期一,手机上还不断刷着知乎,嘴里搞着东西坐在那小工位上走着心呢,突然,"小忠,你过来,给你讲讲任务调度这块的一些业务重构的需求吧",还没缓过神儿,就被源哥叫到小黑板前开始上课了: "我们做个任务调度的功能吧,现在这个制单速度没有达到最大化,很多客户端不能同时进行制单,只能有一台机器能够自动制单,其它的只能人工手动制单,不行,这个得重新设计一下,重构吧."老大简明下达了这次作战任务,接着就是他老人家的一些方案,大概进行了1个多小时,我们下课

第六章:单元测试框架unittest

单元测试框架unittest 单元测试 单元测试(unit testing)是指对软件中的最小可测试单元进行检查和验证.对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等.总的来说,单元就是人为规定的最小的被测功能模块. 单元测试框架 在单元测试框架出现之前,开发人员在创建可执行测试时饱受折磨.最初的做法是在应用程序中创建一个窗口,配有"测试控制工具(harness)".它只是一

iOS开发之单元测试

开始之前 本文侧重讲述如何在iOS程序的开发过程中使用单元测试.使用Xcode自带的OCUnit作为测试框架. 一.单元测试概述 单元测试作为敏捷开发实践的组成之一,其目的是提高软件开发的效率,维持代码的健康性.其目标是证明软件能够正常运行,而不是发现bug(发现bug这一目的与开发成本是正相关的,虽然发现bug是保证软件质量的一种手段,但是很显然这与降低软件开发成本这一目的背道而驰).它是对软件质量的一种保证,例如重构之后我们需要保证软件产品的正常运行. 很多人认为编写单元测试没有用是认为单元

结对项目实验报告

结对实验报告 结对人曹文静的地址: http://www.cnblogs.com/liandiexueying/ 一.实践目标: 敏捷方法之结对编程实践 学会与他人合作 基于项目的Github源代码管理 继续学习JUnit4单元测试 形成良好的编码风格 二.结对项目参考题目 连连看小游戏. 三.实验报告内容 1.题目简介 游戏规则是模仿网络上普通的连连看游戏,主要是鼠标两次点击的图片能否消去的问题.当前,前提是点击两张相同的图片,若点击的是同一张图片或者两张不同的图片,则不予处理.在两张想同图片

Jmeter 的几个指标

Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为"聚合报告".今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅. 如果大家都是做Web应用的性能测试,例如只有一个登录的请求,那么在Aggregate Report中,会显示一行数据,共有10个字段,含义分别如下. Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值

github实验三结对报告

一.题目简介 本项目需要实现一个具有四则运算的计算器,能够实现基本的加.减.乘.除运算,以及其他的辅助功能(阶乘.正弦.余弦.指数运算):界面简洁实用,模拟Windows中的计算器程序,要提供主要的设计思路.类的设计.本程序中Calculator是主类,main方法里会建立一个Calculator对象.Signs,Clear,Num,Dot类为内部类,是一个监听器类. 二.代码地址 https://github.com/ZHANGPING88/Calculator 三.结对分工情况 本次实验是我