iOS应用 使用GH-Unit进行单元测试

移动开发 iOS
本文介绍的iOS应用 使用GH-Unit进行单元测试,GH-Unit是一个强大的单元测试框架,先来看内容详解。

iOS应用 使用GH-Unit进行单元测试是本文要介绍的内容,不多说,直接进入话题,先来介绍一下内容框架。

单元测试iOS Xcode框架项目管理

1、单元测试的目的

2、保证代码的正确性

支持未来的代码重构

1、基础环境:

2、使用苹果系统的电脑

XCode

GH-Unit是一个强大的单元测试框架,由Gabriel Handford开发,使用GH-Unit进行单元测试需要进行一些配置。

新建一个项目并添加一个测试目标(Target)

我这里新建了一个“Window-based Application”,新建完成后先尝试“Build and Run”保证程序能正常启动,在Targets上右击选择“Add - New Target…”

iOS应用 使用GH-Unit进行单元测试

Target的名称可以命名为Tests或者类似的名字。

下载GH-Unit框架并添加必要的框架到项目

下载地址:https://github.com/downloads/gabriel/gh-unit/GHUnit-0.4.28.zip

解压缩后拖到XCode中,选择拷贝源代码到项目,并且目标选择为Tests

iOS应用 使用GH-Unit进行单元测试

打开Tests这个目标进行配置,设置目标依赖到第一个目标,添加CoreGraphics、Foundation、UIKit这几个框架。

检查“Framework Search Paths”

检查“Framework Search Paths”这个参数是否指向GHUnitiOS.framework的父目录,一般默认已是正确的。

针对测试目标的“Other Linker Flags”添加“-Objc”,“-all_load”参数

修改Tests-Info.plist文件

修改里面的“Main nib file base name”参数,将默认为“MainWindow”的值清空。

添加GHUnitIOSTestMain.m (http://github.com/gabriel/gh-unit/blob/master/Project-IPhone/GHUnitIOSTestMain.m)

下载后拖到Other Sources中,选择拷贝到项目,并且选择目标为测试项目。

(可选)创建Tests_Prefix.pch

从原来的GHUnitExample_Prefix.pch拷贝一个文件并重命名为Tests_Prefix.pch,并使用XCode添加到项目中。

修改Tests_Prefix.pch针对移动设备平台的话添加#import <GHUnitIOS/GHUnit.h>,添加后不用在创建的测试代码中引用库。

最后修改Tests目标的配置文件,搜索GCC_Prefix修改为Tests_Prefix.pch。

(可选)设置Makefile文件

创建测试

为了便于源代码管理在项目目录下建立Tests,并导入到XCode中。

在Tests组下添加一个测试类,用来测试配置是否正确,命名为“SetupTests”,从NSObject继承,不生成头文件。

运行测试

选择Tests目标“Build and Run”,便可运行iPhone模拟器开始单元测试,若碰到问题请检查Tests-Info.plist配置是否正确。

小结:iOS应用 使用GH-Unit进行单元测试的内容介绍完了,希望本文对你有所帮助。

责任编辑:zhaolei 来源: 互联网
相关推荐

2013-06-04 09:49:04

Spring单元测试软件测试

2017-01-14 23:26:17

单元测试JUnit测试

2017-01-16 12:12:29

单元测试JUnit

2017-03-23 16:02:10

Mock技术单元测试

2021-03-28 23:03:50

Python程序员编码

2023-08-02 13:59:00

GoogleTestCTest单元测试

2020-05-07 17:30:49

开发iOS技术

2023-07-07 08:38:49

单元测试软件开发

2009-06-02 16:05:04

Struts驱动开发

2015-05-08 10:29:59

OCMockiOS测试

2010-09-29 16:06:02

J2ME Unit单元

2017-01-14 23:42:49

单元测试框架软件测试

2022-04-08 09:01:56

脚本Go应用单元

2009-08-19 09:00:48

单元测试框架自动化测试

2023-07-26 08:58:45

Golang单元测试

2012-05-21 09:41:54

XcodeiOS单元测试

2012-05-17 09:09:05

Titanium单元测试

2017-03-28 12:25:36

2021-03-24 09:30:02

Jupyter not单元测试代码

2012-11-01 11:32:23

IBMdw
点赞
收藏

51CTO技术栈公众号