单元测试的目的
- 提高开发效率
- 提高代码的健壮性
- 保证程序的正常运行(不包括发现bug)
系统测试的几个方法说明
测试的父类 : XCTestCase
开始的方法: setup()
测试结束走的方法:teardown()
swift 项目和OC项目同理,只是在第三步上注意一下不同的头文件引用的方式。
1. 新建OC项目,选择单元测试和UI测试
2. 编写测试方法
3. 在测试单元类中引用要测试的类
swift的测试类中集成测试的类
OC的不用.workspace的引用测试的类
OC项目中用.workspace打开的项目,需要配置一下Header Search Paths 目录。添加一条${SRCROOT},并设置为recursive 为递归模式(搜索目录下的子目录和文件)
4. 调用单元测试中调用要测试的方法,编写测试方法时,必须以test开头
私有类的方法,采用分类或扩展进行测试
1. 添加测试的类的扩展,内部的属性和成员变量
2. 引用扩展头文件
3. 编写更多的测试断言
4. 使用分类Category 进行类方法和实例方法,对私有方法编程对外可以测试调用的方法, 其中分类的.m文件里面不用写什么方法实现,直接在分类的.h文件中写方法声明即可。程序在调用的时候回先找分类对这个方法是否实现,没有实现会直接去分类的主类去查找实现,从而实现了将主类的私有方法对外可用。那就可以把分类的.m文件可以删除了
UI测试
- 找到xxxUITests的工程,如果没有就创建一个,具体创建的操作步骤,大神们可以在网上搜搜。
- 在UI测试文件中引用要测试的类
- 编写测试方法
- 将光标点击到如图的位置
- 点击小红点进行UI调试记录
然后你在程序中的各种操作都会记录到你刚才光标所指的位置上。