Xcode 单元测试】的更多相关文章

项目创建后自动创建的单元测试文件夹, 文件夹名为项目名+tests, xcode6后貌似没有选择是否添加测试target的选择了. 默认生成的如下图 提供的断言如下 typedefNS_ENUM(NSUInteger, _XCTAssertionType) { _XCTAssertion_Fail, _XCTAssertion_Nil, _XCTAssertion_NotNil, _XCTAssertion_EqualObjects, _XCTAssertion_NotEqualObjects,…
今年苹果推出的iOS8和Swift的新功能让人兴奋.同时,苹果对于Xcode的测试工具的改进却也会影响深远.现在我们来看下XCTest,Xcode内置的测试框架.以及,Xcode6新增的XCTestExpectation和性能测试. 现在Xcode项目已经支持out-of-the-box的测试.比如,创建一个新的iOS应用项目后,项目会自动配置两个顶层的group:一个是“应用名称”的group,一个是“项目名称Test”group.对应于这两个顶层的group的是两个target.一个运行的t…
一个App的稳定性,主要决定于整体的系统架构设计,同时也不可忽略编程的细节,正所谓"千里之堤,溃于蚁穴",一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系统的崩溃.尤其因为苹果限制了热更新机制,App本身的稳定性及容错性就显的更加重要,之前可以通过发布热补丁的方式解决线上代码问题,现在就需要在提交之前对App开发周期内的各个指标进行实时监测,尽量让问题暴漏在开发阶段,然后及时修复,减少线上出问题的几率 .针对一个App的开发周期,它的稳定性指标主要有以下几个环节构成,用一个脑图…
layout: post title: "Xcode 7智能测试化工具XCTest学习" subtitle: "Xcode 7智能测试化工具XCTest学习" date: 2015-11-6 author: "Scenery"tags: iOS iOS UI测试 单元测试 XCTestCase 电子商务 Xcode 7智能测试化工具XCTest学习 1. 单元测试简介 1.1.Unit Testing: 单元测试 测试这个词很容易理解,那么什么是…
part 1--入门: 1. xcode 版本下载 以及 iphone sdk 下载: 最新版本在此下载: http://developer.apple.com/devcenter/ios/index.action 其他版本请看 http://connect.apple.com/cgi-bin ... 1.0.1.1.0.3.3.3.3.1 2. 入门教程: http://www.devdiv.com/thread-46499-1-1.html part 2--代码.例程: 1. iphone编…
4.测试失败的调试 是时候追踪之前测试失败的问题了.打开GameBoard.m,找到cellStateAtColumn:andRow: 和 setCellState:forColumn:andRow: 方法,你会看到它们都调用了一个叫做checkBoundsForColumn:andRow: 的helper方法,用来检测数组边界. 头文件 GameBoard.h 里的方法注释如下: // raises an NSRangeException if the column or row are ou…
简介: 单元测试是软件开发的一个重要方面.毕竟,单元测试可以帮你找到bug和崩溃原因,而程序崩溃是Apple在审查时拒绝app上架的首要原因. 单元测试不是万能的,但Apple把它作为开发工具包的一部分,不仅让你创作的APP更稳定,而且提供了一致.有趣的用户体验,这些都是让用户给你五星评价的源泉!iOS7提供了一个升级的单元测试框架,让你在Xcode中运行单元测试更为容易.当你完成这一章节,你将学会如何给现有app添加测试——并有可能培养出对编写测试的热爱! /* 本文翻译自<iOS7 by T…
当你在工程中通过测试导航栏添加了一个测试target之后, xcode会在测试导航栏中显示该target所属的测试类和方法. 这一章演示了怎么创建测试类,以及如何编写测试方法. 测试targets, 测试bundles, 以及测试导航栏 在开始创建测试类之前,测试导航栏值得多看上一眼.对于创建测试和完善测试工作来说,如何使用好它是很关键的. 将一个测试target加到工程会创建一个测试bundle.测试导航栏会展开测试bundles里面所有的源代码组成部分(在一个层级列表中展示了测试类和测试方法…
xcode 5 使用 XCTest 做单元测试 什么是单元测试,请看 百度百科 单元测试 一:在xcode5 之前,我们新建项目时,可以选择是否集成单元测试:如今在xcode5,我们新建立的项目默认就已经集成了单元测试和ARC: xcode5 之后集成的单元测试框架 XCTest.framework 如图,我们用xcode5 新建立一个 名为 StudengManager 的空项目 项目新增加框架 XCTest.framework 项目新增加组 XXXX项目名Test组 新增加 xxxxxTes…
在Xcode 5 单元测试(一)使用XCTest进行单元测试中说了如何在Xcode 5中使用XCTest进行简单的单元测试,本文就来探讨下mock测试和更高级的工具GHUnit. Mock 首先科普下什么是mock测试.mock测试是个很神奇而又很酷的技术,在测试过程中,对于一些不容易构造或不容易获取的对象,此时你可以创建一个虚拟的对象(mock object)来完成测试. 例如你可能要尝试100次才会返回一个NSError,通过mock object你可以自行创建一个NSError对象,测试在…
在Objc.io #1的Testing View Controllers中讲解的就是单元测试的相关内容.本文说下如何通过Xcode 5中集成的XCTest框架进行简单的单元测试. 什么是单元测试 首先什么是单元测试?维基百科中的解释是: 在 计算机编程中,单元测试(又称为模块测试, Unit Testing)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可测试部件.在过程化编程中,一个单元就是单个 程序.函数.过程等:对于面向对象编程,最小单元就是方法,包括…
XCode 内置了 OCUnit 单元测试框架,但目前最好用的测试框架应该是 GHUnit.通过 GHUnit + OCMock 组合,我们可以在 iOS 下进行较强大的单元测试功能.本文将演示如何在 XCode 4.2 下使用 OCUnit, GHUnit 和 OCMock 进行单元测试. OCUnit 在 XCode 下新建一个 OCUnitProject 工程,选中 Include Unit Tests 选择框, OCUnit 框架则会为我们自动添加 Unit Test 框架代码: XCo…
XCTest 1.第一个单元测试 XCTest是Xcode 5中自带的测试框架 下面从一个Demo开始.首先用Xcode新建一个工程UnitTestDemo,工程目录结构如下: 可以看到工程下面多了一个叫UnitTestDemoTests的部分,Targets也多了一个UnitTestDemoTests,根据图标初步认为该Target跑的是一个框架. 这两个多出来的东西(相比Xcode 4没有Include Unit Tests的工程)就是用来做单元测试的,其特点是文件名或Target名都以Te…
新版Xcode 5和Server发布以后,apple对单元测试的支持是越来越好了.从这一点看出apple对单元测试的也是越来越重视了. 这篇Blog就简单的介绍这集成化测试功能. Server更新后是要重新付费的,但如果你有开发者账号的话,可以登录AppleDeveloper 里面会有个兑换码.如果没有就需要单付费了- Server的变化 里面会出现个新的选项-Xcode  从头开始 创建项目 创建远程测试服务 Product->Create Bot Configure Remotes Add…
什么是单元测试? 单元测试就是为你的方法专门多写一个测试函数.以保证你的方法在不停的修改开发中.保持正确.如果出错,第一时间让你知道,这样从最小单位开始监控来保证软件的质量. 什么时候用到单元测试: 1.写完代码以后:想要验证一下自己写的代码是否有问题. 2.写代码之前:就是写代码之前所有的功能分模块的设计好,测试通过了再写.(我反正是没用过). 3.修复某个bug后:一般修复完某个bug,为了确保修复是成功的,会写测试. 怎么写单元测试 创建一个工程,名字随便取,直接勾选include Uni…
![Uploading QQ20160129-3_262826.png . . .]####什么是单元测试?一听到单元测试这个词感觉很高端,其实单元测试就是为你的方法多专门写一个测试函数.以保证你的方法在不停的修改开发中.保持正确.如果出错,第一时间让你知道,这样从最小单位开始监控来保证软件的质量. 什么时候用到单元测试: 1.写完代码以后:想要验证一下自己写的代码是否有问题.2.写代码之前:就是写代码之前所有的功能分模块的设计好,测试通过了再写.(我反正是没用过).3.修复某个bug后:一般修…
占坑 http://m.oschina.net/blog/377800 http://www.cnblogs.com/sunshine-anycall/p/4155649.html http://objccn.io/issue-15-2/ http://www.jackyshen.com/2014/06/20/xcode6-supports-async-unit-test/…
开始之前 本文侧重讲述如何在iOS程序的开发过程中使用单元测试.使用Xcode自带的OCUnit作为测试框架. 一.单元测试概述 单元测试作为敏捷开发实践的组成之一,其目的是提高软件开发的效率,维持代码的健康性.其目标是证明软件能够正常运行,而不是发现bug(发现bug这一目的与开发成本是正相关的,虽然发现bug是保证软件质量的一种手段,但是很显然这与降低软件开发成本这一目的背道而驰).它是对软件质量的一种保证,例如重构之后我们需要保证软件产品的正常运行. 很多人认为编写单元测试没有用是认为单元…
作为一个有质量保障的应用程序,当然少不了单元测试:Swift开发的App也亦如此,此文将以一个简单的实例来介绍Swift中的单元测试. 这里我们使用XCode模版自带的XCTest框架,此框架包含了一个名为XCTestCase的类,所有的测试类都应该继承自它:按照约定俗成所有的测试方法名都应以test开头,并不能包含任何参数,只有这样,这些测试方法才能在运行测试时被自动执行:在每个测试方法里面,我们可以通过调用XCTAssert*函数去断言一个操作成功与否,如判等函数XCTAssertEqual…
原文:Run Xcode 7 UI Tests from the command line 苹果在Xcode 7中引入了一项新技术UI Tests,允许开发者使用Swift或Objective C代码来进行UI测试.直到现在一个可行的方法是使用UI Automation.通过UI Tests,可使用Xcode适当调试问题以及使用Swift或Objective C而无需处理JavaScript代码.首先为UI Tests创建一个新的target: 在测试分区下,选中Cocoa Touch UI T…
前言 对于单元测试一开始我是拒绝的.单元测试是一个什么东东,因为我喜欢做iOS开发是因为喜欢写APP的啊,一切和这一目标不相干的东西我没兴趣啊,所以从事iOS开发几年都没去深入学习过单元测试(主要是之前单位没这要求).看到我的优点木有:目标性很强,嗯,记住我的优点,请忽略我拒绝学习边缘知识的缺点.但是最近被总监要求负责单元测试的探索和落地,我义(勉)不(为)容(其)辞(难)地扛起了夺取桥头堡的重任.随着对这个姑娘的不断的了解和接触,我发现自己逐渐爱上了她,她有着独立知性的气质,有着完美丰满的身材…
原文转自:http://www.cocoachina.com/ios/20141128/10358.html 本文由CocoaChina翻译组成员Creolophus(github主页)翻译自苹果官方文档Xcode Overview:Debug Your App,校对唧唧歪歪,敬请勘误. 当您点击了工作区工具条中的运行按钮并且你的应用编译成功,那么Xcode运行您的应用程序并开启调试功能.您可以使用图形化的工具直接在源码编辑器中调试应用,比如使用Data tips.快速查看(Quick look…
https://onevcat.com/2015/09/ui-testing/ WWDC15 Session笔记 - Xcode 7 UI 测试初窥 Unit Test 在 iOS 开发中已经有足够多的讨论了.Objective-C 时代除了 Xcode 集成的 XCTest 以外,还有很多的测试相关的工具链可以使用,比如专注于提供 Mock 和 Stub 的 OCMock,使用行为驱动测试的 Kiwi 或者 Specta 等等.在 Swift 中,我们可以继续使用 XCTest 来进行测试,而…
测试驱动开发并不是一个很新鲜的概念了.在我最开始学习程序编写时,最喜欢干的事情就是编写一段代码,然后运行观察结果是否正确.我所学习第一门语言是c语言,用的最多的是在算法设计上,那时候最常做的事情就是编写了一段代码,如何编译运行,查看结果是否正确,很多时候,还得自己想很多特殊的(比如说零值,边界值)测试数据来检测所写代码.算法是否正确.那个时候,感觉还好,比较输出只是只是控制台的一个简单的数字或者字符.在学习iOS开发中,很多时候也是要测试的,这种输出是必须在点击一系列按钮之后才能在屏幕上显示出来…
iOS单元测试1 iOS单元测试分为两种类型的测试: 应用测试.应用程序测试可以检查app的代码组件,比如计算机的算术运算的例子.你可以利用应用程序测试来确保你的UI空间控件保持原有位置,并且你的控件和控制器对象能够和对象模型正确地工作. 逻辑测试(库测试).逻辑测试可以检查独立代码的行为是否正确.利用逻辑测试,你可以将整个库的组件放在一起进行测试,通常测试对象是对象和方法. 性能测试:所谓性能测试,主要是评估一段代码运行的时间.(自己添加的,个人觉得应该也属于一类测试把).性能测试的格式:-…
Xcode有四种build for 分别是: build for Running build for Testing build for Profiling build for Archiving Running最常用的一种,在模拟器或者设备上运行 Testing单元测试所用 Profiling测试各种性能问题,内存泄露等问题,主要是弥补单元测试覆盖不到的地方 Archiving出包用     Xcode如何打包ipa安装包  …
Nimble 从字面上看是 敏捷,灵活 的意思.Nimble 是一个库,一个 断言库.这个库一般用于单元测试.Xcode 6 为我们集成了 XCTest 单元测试库.在正式介绍 Nimble 之前,我们有必要先介绍一下 XCTest.我们在使用 Xcode 新建项目的时候会发现它为我们创建了两个 Target,一个是我们项目的 Target 还有一个就是测试 Target. 我们看到了 Xcode 为我们自动生成的 Target,我们按下 Command + U 即可运行测试项目,并且在 Xco…
一.项目文件结构示意图 二.文件介绍 1.products文件夹:主要用于mac电脑开发的可执行文件,ios开发用不到这个文件 2.frameworks文件夹主要用来放依赖的框架 3.test文件夹是用来做单元测试的 4.常用的文件夹(项目名称文件夹) (1)XXXinfo.plist文件(在该项目中为  01-常见文件-Info.plist) 1)简单说明 是配置文件,该文件对工程做一些运行期的配置,非常重要,不能删除. 在旧版本xcode创建的工程中,这个配置文件的名字就叫做info.pli…
Xcode相关概念: 概念:project 指一个项目,该项目会负责管理软件产品的全部源代码文件.全部资源文件.相关配置,一个Project可以包含多个Target. 概念:target 一个target指的是根据project中的其它内容生成的最终产品,它是线程可以直接读懂的代码. 概念:scheme scheme是对过程的定义,它定义了一个target被生成的一系列过程.可在Scheme中定义的Target的构建过程有:Build/Run/Test/Profile/Analyze/Archi…
创建 Object-C 程序 进入主界面方式 : 打开 Xcode 之后, 可以使用 Xcode 菜单, 但是必须创建一个 Object-C 工程 或者 导入 一个 Object-C 工程才可以进入主界面; -- 打开现有工程 : 点击右边的历史记录, 就可以打开现有的工程; -- 创建工程 : 点击第一个 Create a new Xcode Project 即可创建一个新工程; -- 导入工程 : 点击 Check out an existing project 可以导入一个已经创建的工程;…