测试的重要性
应用要是想要上架苹果商店,就必须通过苹果商店的审查,如果应用程序没有经过测试就提交的话,那么在审核时发现不符合上架条件的情况,就会被拒绝上架,这样就会造成很不必要的时间等待成本。
单元测试
单元测试是一种白盒测试,应用程序的开发者对现有的模块编写相应的测试代码进行测试,其中包含测试用例的设计。
单元测试是通过XCTest框架对程序的最小单元进行正确性检测的测试工作的。最小可测试部件通常包括基类、抽象类、子类。
新建的项目要想使用单元测试,只需要在创建项目时勾选Unit Test 选项即可。
但如果是要对一个现成的项目添加单元测试,则需要配置General面板,如下图:
然后找到Test下的Unit Testing Bundle。
该类文件包含了4个方法:setUp、tearDown、testExample、testPerformanceExample。
setUp:在运行testExample方法之前会被调用,主要是在这里做一些初始化操作。
testExample:测试示例,在该方法中编辑测试代码。
tearDown:在testExample方法之后调用,可以在tearDown方法中做一些清除操作,比如关闭网络请求等等。
示范案例:
override class func setUp() {
print("setUp")
}
func testExample() throws {
let personID:String = "386491274814017401"
let count = personID.count
XCTAssert(count <= 10,"ID length error.")
}
override class func tearDown() {
print("tearDown")
}
编辑完成后,点击测试方法左边的菱形进行测试,如下图所示:
运行结果:
Test Suite 'Selected tests' started at 2022-01-05 20:12:27.961
Test Suite 'S1Tests.xctest' started at 2022-01-05 20:12:27.962
Test Suite 'S1Tests' started at 2022-01-05 20:12:27.963
setUp
Test Case '-[S1Tests.S1Tests testExample]' started.
/Users/housnk/codeSpace/swift_study/S1/S1Tests