iOS基础—单元测试

简介:

单元测试(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。
  测试函数的形式必须是无返回值且以‘test’为前缀,如:- (void)testLogin;
  每个测试用例都是从- (void)setUp;开始,进行初始化,以- (void)tearDown结束,释放资源。
  运行测试用例:
  command + u。
  长按运行按钮选择列表中的test;

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
1月前
|
Android开发 数据安全/隐私保护 iOS开发
ios和安卓测试包发布网站http://fir.im的注册与常用功能
ios和安卓测试包发布网站http://fir.im的注册与常用功能
25 0
ios和安卓测试包发布网站http://fir.im的注册与常用功能
|
1月前
|
iOS开发
iOS自动混淆测试处理笔记
iOS自动混淆测试处理笔记
16 0
|
1月前
|
iOS开发
  iOS 自动混淆测试处理笔记
  iOS 自动混淆测试处理笔记
|
1月前
|
Java 测试技术 API
安卓APP和iOS APP在测试上的区别是什么?
安卓APP和iOS APP在测试上的区别是什么?
|
1月前
|
人工智能 测试技术 iOS开发
iOS性能指标和性能测试工具
iOS性能指标和性能测试工具
126 0
|
1月前
|
移动开发 数据安全/隐私保护 iOS开发
ios app真机测试到上架App Store详细教程-必看
ios app真机测试到上架App Store详细教程-必看
64 0
|
8月前
|
iOS开发
iOS自动混淆测试处理笔记
自动混淆测试是针对 oc 类和oc方法这两个模块进行自动混淆ipa,并ipa安装到设备中运行,通过检测运行ipa包是否崩溃,来对oc类和oc方法进行筛选。如果崩溃,则该类名或方法名不可混淆。 当没有勾选oc类和oc方法,会自动测试所有的可执行文件中的oc类和oc方法名。如果有选中数据,则只会测试选中的数据集合。除了 oc 类和oc方法这两个模块会自动筛选测,其他的模块需要手动配置
|
8月前
|
存储 数据安全/隐私保护 开发者
iOS- 最全的真机测试教程
iOS- 最全的真机测试教程
|
9月前
|
运维 网络协议 测试技术
iOS 自己搭建的IPv6环境测试正常,任然被拒
iOS 自己搭建的IPv6环境测试正常,任然被拒
59 0
|
11月前
|
JavaScript 测试技术 Shell
03-MacOS上搭建Appium的iOS测试环境
03-MacOS上搭建Appium的iOS测试环境