单元测试作为敏捷开发实践的组成之一,其目的是提高软件开发的效率,维持代码的健康性。其目标是证明软件能够正常运行,而不是发现bug(发现bug这一目的与开发成本是正相关的,虽然发现bug是保证软件质量的一种手段,但是很显然这与降低软件开发成本这一目的背道而驰)。它是对软件质量的一种保证,例如重构之后我们需要保证软件产品的正常运行。而iOS非常幸运,苹果开发工具Xcode在创建项目是就能够自带XCTest,包含单元测试和UI测试,这次我们从两个方面讲一下单元测试。
一、 开发
如果创建工程时自带,则可以在工程项目文件中的TARGETS看到有一个对应工程名,以Tests结尾的项目,如果没有,也可以自己创建,点击下方的加号,输入test即可看到对应的bundle,这里我们选择Unit Testing Bundle
创建后会多一个文件夹,在其中创建和刚创建的项目名称相同,在里面就可以创建每个文件的单元测试了。
对文件夹右键点击NewFile,选择Unit Test Case Class即可创建一个单元测试文件
创建过程就到这里了。接下来针对单元测试一些使用进行简单描述。
首先单元测试是为了测试方法的可行性,所以需要断言来看是否正确,XCTest提供了许多断言可用,这里就列举一些常见的断言
XCTAssertNotNil(expression, ...)
XCTAssertNil(expression, ...)
XCTAssertTrue(expression, ...)
XCTAssertFalse(expression, ...)
XCTAssertEqualObjects(expression1, expression2, ...)
XCTAssertEq