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