XCTest

为什么要测试?
找出程序的错误和缺陷,也是保证程序的质量、安全性的完整性的重要手段...
这篇文章是为了讲述如何在Xcode上使用XCTest进行测试的。
<pre>
主要的IOS测试框架:
1.OCUnit,开源的测试框架,测试报告以文本的形式输出到输出窗口中,不支持真机测试;
2.GHUnit,开源的测试框架,测试报告以应用的形式或以文本的形式输出,支持真机和图形界面测试。
3.XCTect(推荐),支持真机和图形界面测试。
</pre>

下图代码的版本是Xcode8.2,图中PersistenceLayerTests是测试目录,在这个目录中有两个文件,其中测试代码写在.m 文件中(也是测试的程序入口),低版本Xcode的测试代码也是写在.m文件,这个和高版本一样,唯一不同的是测试目录中会有一个Supporting Files目录,里面有一个叫main.m的文件,这个是测试的程序入口。


XCTest 的创建并使用.png

图中的persistencelayer.m文件中,会有
<pre>
-(void)setUp 方法,初始化资源时要使用的方法;
-(void)tearDown 方法,释放资源时的要使用的方法;
-(void)testExample 方法是测试方法,注意:所有测试方法的方法名称都是以test开头的;
</pre>
下面是常用的断言宏(仅可参考,具体可以查看官方的文档):
XCTAssertEqualObjects();//当两个对象不等或某个对象为nil时,断言失败
XCTAssertEquals();//当参数1不等于参数2时,断言失败,可用于C中的基本数据的测试
XCTAssertNil();//当参数不是Nil时,断言失败
XCTAssertNotNil();//当参数是Nil时,断言失败
XCTAssertTrue();//当表达式是false时,断言失败
XCTAssertFalse();//当表达式是true时,断言失败
XCTAssertThrows();//当表达式没有抛出异常时,断言失败
XCTAssertNoThrows();//当表达式抛出异常时,断言失败

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,994评论 25 709
  • 当使用测试导航器将测试目标添加到项目时,Xcode在测试导航器中显示该目标的测试类和方法。在测试目标中是包含测试方...
    张芳涛阅读 5,659评论 0 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,838评论 19 139
  • 转:http://www.jianshu.com/p/d5fca0185e83 Xcode测试 前言 总算在今天把...
    测试小蚂蚁阅读 8,407评论 0 20
  • 此快速入门的目的是说明你可以将测试作为软件开发的一个组成部分,并且测试方便,易于使用。 介绍测试导航器 当您使用测...
    张芳涛阅读 5,658评论 0 2

友情链接更多精彩内容