IOS Unit test

转自:http://blog.csdn.net/jymn_chen/article/details/21552941

断言测试

下面一共18个断言(SDK中也是18个,其含义转自ios UnitTest 学习笔记,真心佩服原文的博主,部分宏小弟已经测试过):

XCTFail(format…) 生成一个失败的测试;

XCTAssertNil(a1, format...)为空判断,a1为空时通过,反之不通过;

XCTAssertNotNil(a1, format…)不为空判断,a1不为空时通过,反之不通过;

XCTAssert(expression, format...)当expression求值为TRUE时通过;

XCTAssertTrue(expression, format...)当expression求值为TRUE时通过;

XCTAssertFalse(expression, format...)当expression求值为False时通过;

XCTAssertEqualObjects(a1, a2, format...)判断相等,[a1 isEqual:a2]值为TRUE时通过,其中一个不为空时,不通过;

XCTAssertNotEqualObjects(a1, a2, format...)判断不等,[a1 isEqual:a2]值为False时通过;

XCTAssertEqual(a1, a2, format...)判断相等(当a1和a2是 C语言标量、结构体或联合体时使用,实际测试发现NSString也可以);

XCTAssertNotEqual(a1, a2, format...)判断不等(当a1和a2是 C语言标量、结构体或联合体时使用);

XCTAssertEqualWithAccuracy(a1, a2, accuracy, format...)判断相等,(double或float类型)提供一个误差范围,当在误差范围(+/-accuracy)以内相等时通过测试;

XCTAssertNotEqualWithAccuracy(a1, a2, accuracy, format...) 判断不等,(double或float类型)提供一个误差范围,当在误差范围以内不等时通过测试;

XCTAssertThrows(expression, format...)异常测试,当expression发生异常时通过;反之不通过;(很变态) XCTAssertThrowsSpecific(expression, specificException, format...) 异常测试,当expression发生specificException异常时通过;反之发生其他异常或不发生异常均不通过;

XCTAssertThrowsSpecificNamed(expression, specificException, exception_name, format...)异常测试,当expression发生具体异常、具体异常名称的异常时通过测试,反之不通过;

XCTAssertNoThrow(expression, format…)异常测试,当expression没有发生异常时通过测试;

XCTAssertNoThrowSpecific(expression, specificException, format...)异常测试,当expression没有发生具体异常、具体异常名称的异常时通过测试,反之不通过;

XCTAssertNoThrowSpecificNamed(expression, specificException, exception_name, format...)异常测试,当expression没有发生具体异常、具体异常名称的异常时通过测试,反之不通过

IOS Unit test

时间: 2024-10-07 02:49:52

IOS Unit test的相关文章

IMPROVING IOS UNIT TESTS WITH OCMOCK

By: Andy Obusek http://engineering.aweber.com/improving-ios-unit-tests-with-ocmock/ OCMock's website: http://ocmock.org/ CocoaPod: https://github.com/CocoaPods/Specs/tree/master/OCMock GitHub page: https://github.com/obuseme/OCMockSample CocoaPod usi

ios unit test 工程选择release时候报错Undefined symbols for architecture i386

Undefined symbols for architecture i386: "_OBJC_CLASS_$_ItemReturn", referenced from: objc-class-ref in JenknisDemoTests.o "_OBJC_CLASS_$_ViewController", referenced from: objc-class-ref in ViewControllerTest.o (maybe you meant: _OBJC_

Google推出iOS功能性UI测试框架EarlGrey

经过了一段时间的酝酿后,Google很高兴地宣布了EarlGrey,一款针对于iOS的功能性UI测试框架.诸如YouTube.Google Calendar.Google Photos.Google Translate.Google Play Music等多款Google应用都成功地采用了EarlGrey框架来满足其功能性测试之所需. EarlGre的特点 EarlGrey所提供的主要特性如下所示,这些特性使得应用的测试变得更加轻松,也更具效率: 强大的内建同步机制:测试会在与UI进行交互前自动

EarlGrey iOS自动化UI测试(集成篇)

目前针对iOS开发,很少会有UI方面的自动化测试. 目前Xcode提供了UI Automation,UI Testing Bundle,两者的优势都是可以通过录制真实的模拟器或者真机操作自动生成测试代码.而且不需要额外环境,只是需要xcode即可.但是缺点也很明显,就是自动生成的code可执行性,和可维护性很差.页面上的细微改动,都会导致case无法正常work. EaryGrey是google提供的一套ios ui测试框架,基于Unit Testing Bundle,可以通过matcher和c

iOS开发周报:新一代 iPhone 可能取消耳机插口,Facebook 发布 tvOS SDK

新一代 iPhone 可能为进一步降低机身厚度而取消耳机插口,改用 Lightning 接口.iPhone 6c 传言,2016 年可能迎来两次 iPhone 发布会. 新闻 新一代 iPhone 可能取消耳机插口,改用 Lightning 接口:虽然距离下一代 iPhone 发售还遥遥无期,但是最近已经有关于这款 “iPhone 7” 的一些传言了.据称新一代 iPhone 为了进一步降低机身厚度,将淘汰掉现在事实的耳机行业标准的 3.5mm 耳机几口.耳机接口成为机身厚度的瓶颈已经有一段时间

[Swift通天遁地]七、数据与安全-(15)使用单元测试进行代码的性能分析

单元测试提供了一个测试性能的方法,可以用来对应用程序的执行性能进行检测. 本文将演示使用单元测试进行代码的性能分析: 两种不同的图片加载方式的性能差异,在[Assets.xcassets]中导入图片素材. 如果项目中没有引用单元格测试框架, 项目导航区点击选中项目名称,再点击中间列的[+]图标进行添加. 在弹出的模板窗口中,选择单元测试框架模板[iOS Unit Testing Bundle] ->[Next]->保持默认的选项设置->[Finish] 打开单元测试用例文件[UnitTe

CodeSign error: code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 8.2'

在真机测试的时候往往会突然出现这样一个错误,code signing is required for product type 'Application' in SDK 'iOS 7.0'  ,就是说代码签名证书不对劲. 解决方案: 1.选择工程->Build Settings -> Code Signing -> Code Signing Identity -> Debug -> Any ios SDK 将选项改为:iPhone Developer 2.重新下载你的证书,或

[问题]code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 8.1'

问题详情描述: 创建 IOS 静态库,运行时报错如下: Check dependencies CodeSign error: code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 8.1' 解决办法: 一般搞东西都是在 项目的 Target 里搞东西,比如例子中的 DestationKit target ,而忽略 DestationKitTests target, 解决办法和常见的 codesign 一直

在iOS中创建静态库

如果你作为iOS开发者已经有一段时间,可能会有一套属于自己的类和工具函数,它们在你的大多数项目中被重用. 重用代码的最简单方法是简单的 拷贝/粘贴 源文件.然而,这种方法很快就会成为维护时的噩梦.因为每个app都有自己的一份代码副本,你很难在修复bug或者升级时保证所有副本的同步. 这就是静态库要拯救你的.一个静态库是若干个类,函数,定义和资源的包装,你可以将其打包并很容易的在项目之间共享. 在本教程中,你将用两种方法亲手创建你自己的通用静态库. 为了获得最佳效果,你应该熟悉Objective-