ios 单元测试初识(XCTestCase)

今天偶尔碰到了单元测试的相关内容,就了解了一下,感觉比较好用:

单元测试就是面试中经常问到的TDD(Test Driven Development),xcode4之前测试函数需自己创建,之后xcode5,对单元测试进行了升级,

xcode4之前的用法详见:http://www.infoq.com/cn/articles/ios-unit-test-1

xcode5之后的用法,特别是xcode6对单元测试的升级比较令人兴奋,

个人比较佩服下面这个哥们的介绍,比较详细

http://www.it165.net/pro/html/201403/10828.html

单元测试(unit testing):对软件中最小可测试单元进行检查和验证。一般面向过程的语言中,基本单元为函数,面向对象的语言中,基本单元通常是类,其实对于一个手机上的app来说基本单元也可以是一个UI页面。平时我们写了一个函数,执行以下看是否正常工作,也属于单元测试。

  测试用例test case):对测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、输出数据、测试步骤、预期结果、测试脚本等。

  它是一种检验行为,便于我们写出高质量代码。

  它是一种设计行为,有利于我们编程能力的提高。

  它是一种文档编写行为,让我们的程序有据可依。

  Xcode内置了OCUnit单元测试框架。在Xcode5之前,建立项目的时候有一个选项,让我们选择是否建立一个含有单元测试target的项目,而在Xcode5中只要建立一个项目就默认带有一个单元测试的target。

  在Xcode5之前,建立一个工程的时候如果没有勾选单元测试的话也不要紧,可以自己添加一个单元测试的target。

  在弹出选择框中 IOS-->Other---> Cocoa Touch Unit Testing Bundle

  这里看似OK,但还是差一步,在点击RUN,长按后产生TEST,点击TEST进行开启测试时,将产生一个提示:The scheme "工程名" is not configured for testing. edit the scheme to enable testing,or cancel the action.即我们还没有给工程配置测试工程行,点击修改来添加,或点击取消进行结束。点击Edit Scheme (或菜单中Product->edit Scheme)

  弹出scheme窗体。选中Test,然后点击+号来没加一个scheme

  选中之前创建的CoredataDemoTest后点击ADD

  说明:

  在Xcode5中测试类必须继承自XCTestCase。在Xcode5之前测试类必须继承自SenTestCase。

  运行测试用例:

  command + u。

  长按运行按钮选择列表中的test;

一般不需要自己建立测试函数,一般程序自带的有测试target里面有test类,

里面有几个方法:

1. - (void)setUp:每个test方法执行前调用

2. - (void)tearDown:每个test方法执行后调用

3. - (void)testXXX:命名为XXX的测试方法

之前都是写好模块之后反复的run,stop,比较麻烦,单元测试能很好的解决这个问题,

好吧,写的比较乱,后续在整理,

时间: 2025-01-20 06:43:30

ios 单元测试初识(XCTestCase)的相关文章

Xcode6下iOS单元测试——XCTest和GHUnit框架简介和比较

iOS单元测试(UnitTest) 在iOS中进行测试可以选择XCTest和GHUnit测试两种框架.XCTest集成在Xcode中,而GHUnit则是一个著名的开源框架. 所谓的单元测试,就是指把程序分割成若干个小单元,对每个小单元单独进行测试.所谓的小单元,可以是一个方法,一个UI控件,一次简单的事件等等.本文不重点讨论测试的意义,所以就选择最简单的加法函数,介绍iOS如何进行单元测试. XCTest框架 XCTest介绍 XCTest的前身是OCUnit,它是一个集成在Xcode中的测试框

爱上iOS单元测试系列之爱上她就要先了解她:单元测试入门

前言 对于单元测试一开始我是拒绝的.单元测试是一个什么东东,因为我喜欢做iOS开发是因为喜欢写APP的啊,一切和这一目标不相干的东西我没兴趣啊,所以从事iOS开发几年都没去深入学习过单元测试(主要是之前单位没这要求).看到我的优点木有:目标性很强,嗯,记住我的优点,请忽略我拒绝学习边缘知识的缺点.但是最近被总监要求负责单元测试的探索和落地,我义(勉)不(为)容(其)辞(难)地扛起了夺取桥头堡的重任.随着对这个姑娘的不断的了解和接触,我发现自己逐渐爱上了她,她有着独立知性的气质,有着完美丰满的身材

[原创]ios单元测试引发的一系列研究(一)

最近在研究单元测试,希望引入一个好用的单元测试工具,提高开发团队的产出质量. 不过我本人对单元测试没有什么知识,所以,笼统的从ios上的测试开始研究. 现在想想,本文的主题monkeytalk好像与单元测试木有关系.orz 目前可用的测试框架虽然没有其他开发平台的那样自成体系,也还算是百花齐放. ------------------------------------------------------- 老大自然是OCUnit+XCTool和GHUnit+OCMock.这两种都是需要自己写te

浅谈iOS单元测试

什么是单元测试? 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证.对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等.总的来说,单元就是人为规定的最小的被测功能模块. iOS中单元测试有什么意义? 大型项目开发,功能比较繁琐,代码量比较大,调试某一块功能需要不断的Command+R运行调试,很显然这样的功能是非常非常的低效的,编写过程中以及App功能完成后

iOS 单元测试- Xcode 7测试工具XCTest学习

1. 单元测试简介 1.1.Unit Testing: 单元测试 测试这个词很容易理解,那么什么是单元(Unit)呢? 一个单元指的就是应用程序中可以测试的最小单元. 一组源代码可以测试,一般要求有明确的输入与输出.因此一般来说源代码中明确的包含输入输出的每一个方法被认为一个测试的单元(一个case). 注意,这里的输出并不局限于方法的返回值对输入参数的改变,也包括方法在执行过程中改变的任何数据. 单元测试在程序里面可以理解一个模块一个方法,在每个可能存在的模块都进行测试,确保每个模块都没有问题

iOS单元测试

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

IOS 单元测试

本文转载至 http://blog.csdn.net/fengsh998/article/details/8109293 IOS 自带单元测试. 1.在创建时,将include Unit Tests钩上. 这样创建后就会自动生成以Tests结属的测试工程. 打开ProjectTest.m 可以看到系统已创建好一个测试例子的测试方法testExample 现在就可以运行测试单元看看效果. 点击RUN,长按弹出TEST,选择TEST 运行结果当然是测试方法通不过的,因为里面有一名是自带的演示代码.

iOS单元测试(作用及入门提升)

由于只是一些简单实用的东西,学学还是挺不错的.其实单元测试用的好,开发起来也会快很多.单元测试对于我目前来说,就是为了方便测试一些功能是否正常运行,还有调试接口是否能正常使用.有时候你可能是为了测试某一个网络接口,然后每次都重新启动并且经过很多操作之后才测试到了那个网络接口.如果使用了单元测试,就可以直接测试那个方法,相对方便很多. 比如由于修改较多,我们想测试一下分享功能是否正常,这时候就有用了.(而不是重新启动程序,进入到分享界面,点击分享,填写分享内容.)其实单元测试并没有降低我们打代码的

XCode下的iOS单元测试

XCode 内置了 OCUnit 单元测试框架,但目前最好用的测试框架应该是 GHUnit.通过 GHUnit + OCMock 组合,我们可以在 iOS 下进行较强大的单元测试功能.本文将演示如何在 XCode 4.2 下使用 OCUnit, GHUnit 和 OCMock 进行单元测试. OCUnit 在 XCode 下新建一个 OCUnitProject 工程,选中 Include Unit Tests 选择框, OCUnit 框架则会为我们自动添加 Unit Test 框架代码: XCo