GeorgeWang Blog

行千里路,读万卷书

iOS测试系列(六):浅谈测试实践,UnitTest/TDD/BDD/FunctionalTest

前言 前面的多篇文章中,分别介绍了XCTest、OCMock、Specta/Expecta/Kiwi、KIF等测试框架,虽然也只是众多测试框架中的一部分,但已经算是比较主流的。框架有了便有了工具,但我们还需要一些理论的支持,才能完成测试这一环节。什么是理论呢,我想应该和设计模式一个道理,有了语言和框架的支持,还不至于让我们写出优秀的代码,我们还需要的是一些实践经验,也就是设计模式/架构模式...

iOS工程持续集成:Jenkins的使用

前言 相信每个做开发的童鞋都对持续集成(Continuous Integration)有所耳闻,持续集成是一种软件开发实践,在多人合作的项目做,通过每天对成员间的代码进行集成,编译,自动化测试,从而能在集成的过程中尽早发现问题,以免到了项目后期才发现大的问题。 显而易见,如果把持续集成工作交由开发人员来完成的话,会非常麻烦和耗时。于是聪明的程序员便编写出一套能够代替我们手动操作的程序,就...

iOS测试系列(五):KIF界面测试工具的使用

前言 为了保证我们的应用可靠,我们平时通常要不断地点击应用来测试,以及时发现更多的问题,但这个过程是非常耗时的,不管是编译时间还是操作时间。因此,自动的UI测试就很有必要。前面提到的XCode在iOS7中已经集成了UI测试,并且结合UI Record这个功能,加上MacOS Server也能完成很多功能。不过KIF这个框架也能帮助我们去模拟用户输入来测试,而且KIF有XCode UITes...

iOS测试系列(附录一):objc.io测试系列笔记

1.行为驱动测试(Behavior-Driven Development) 1.1 该测试什么 TDD(Test-Driven Development),即测试驱动开发 BDD(Behavior-Driven Development),行为驱动开发 测试驱动开发是从需求拟定阶段就写好测试用例,并伴随在整个开发过程,能及早发现问题,防止bug逃逸;行为驱动开发是测试驱动开发的进...

iOS测试系列(四):Specta,Expecta和Kiwi的使用

前言 前面文章相继介绍了XCTest和OCMock的使用,本篇文章继续介绍其他相关的三个BDD测试框架:Specta、Expecta 和 Kiwi,这三个框架都是出自Github作者Orta之手,他最出名的开源框架莫过于Cocoapods了。 Specta Specta是一个类似于Ruby测试框架RSpec的轻量级BBD测试框架,其为DSL(Domain-Specific Langua...

iOS测试系列(三):OCMock的使用

前言 在前面几两篇文章中介绍了iOS测试概述和XCTest的使用,如今的XCTest已经功能很完善,但平时的测试有一些实用的功能XCTest还是没提供,比如Mock、Stub;因此,我们需要借助一些开源框架来帮助我们更好地测试,比如OCMock、GHUnit、Specta、Expecta、Kiwi等,这边文章我们主要介绍集Mock、Stub功能一身的OCMock,也是测试中人气比较高的一个...

iOS测试系列(二):在XCode上测试(XCTest的使用)

前言 说到iOS/macOS的测试,第一个想到的就是XCTest了,毕竟是Xcode原生的测试框架及测试解决方案。XCTest是Xcode5集成的,Xcode6引进了性能管理,Xcode7引进来UI测试;此外Xcode Test可以在服务端Xcode上执行,可以用于持续集成自动测试。可见,如今XCTest功能也是比较地完善了,平时再结合一些开源测试框架,会让我们非常方便地进行测试。 本篇笔...

iOS测试系列(一):测试概述

前言 测试是产品开发中很重要的一个环节,但也是平时容易被忽视和疏漏的;虽然在完成开发之后,测试组可能还会对产品做无数次测试,但我们开发人员来开发过程中做好单元测试,能提早发现代码中存在的问题,会让代码更加健壮,减少漏洞风险。 iOS开发(或者MacOS、tvOS、watchOS等)中,单元测试有多种方式,主要分为Xcode提供的以及第三方测试框架这两类: Xcode自带 ...

LLDB学习笔记(一)

LLDB是和GDB类似的命令行调试工具,许多命令和GDB一样,为Xcode提供底层调试环境 LLDB开始于Xcode5 我们可以使用命令别名功能来自定义LLDB,也可以通过Python脚本和Python-LLDB对象库来扩展LLDB LLDB还可以在系统终端通过命令行来使用,对于非图形窗口编码的人来说比较重要 LLDB的语法大致如下(其实很多都和命令行挺类似的...

Xcode 9 新特性

WWDC 2017 上Apple推出了Xcode 9 ,这一版本的亮点还不少,特别是在代码编辑以及版本控制两方面;官网上的更新文档对Xcode 9 做了详细的介绍,以下是一些记录,希望对你有帮助。 0.亮点 新的编辑器:更快、结构化的编辑器,智能文本高亮,支持Markdown 重构:在编辑体验上的重构,包括Siwft、Objective-C以及可视化编辑等 超快的搜索:搜索结...