XCTest

为什么要测试?
找出程序的错误和缺陷,也是保证程序的质量、安全性的完整性的重要手段...
这篇文章是为了讲述如何在Xcode上使用XCTest进行测试的。


主要的IOS测试框架:
1.OCUnit,开源的测试框架,测试报告以文本的形式输出到输出窗口中,不支持真机测试;
2.GHUnit,开源的测试框架,测试报告以应用的形式或以文本的形式输出,支持真机和图形界面测试。
3.XCTect(推荐),支持真机和图形界面测试。

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


XCTest_第1张图片
XCTest 的创建并使用.png

图中的persistencelayer.m文件中,会有


-(void)setUp 方法,初始化资源时要使用的方法;
-(void)tearDown 方法,释放资源时的要使用的方法;
-(void)testExample 方法是测试方法,注意:所有测试方法的方法名称都是以test开头的;

下面是常用的断言宏(仅可参考,具体可以查看官方的文档):
XCTAssertEqualObjects();//当两个对象不等或某个对象为nil时,断言失败
XCTAssertEquals();//当参数1不等于参数2时,断言失败,可用于C中的基本数据的测试
XCTAssertNil();//当参数不是Nil时,断言失败
XCTAssertNotNil();//当参数是Nil时,断言失败
XCTAssertTrue();//当表达式是false时,断言失败
XCTAssertFalse();//当表达式是true时,断言失败
XCTAssertThrows();//当表达式没有抛出异常时,断言失败
XCTAssertNoThrows();//当表达式抛出异常时,断言失败

你可能感兴趣的:(XCTest)