zoukankan      html  css  js  c++  java
  • ios UnitTest 学习笔记

    一、运行第一个单元测试:

    1.在Xcode 5中新建一个工程默认自带一个单元测试的文件夹,IDE自动生成了一个实现XCTestCase的.m文件,里面有一个失败测试(早期版本中实现的是SenTestCase,是苹果集成的第三方的,现在苹果建议使用新的XCTestCase)。

    2.测试函数的要求是:1.必须无返回值;2.以test开头;

    3.测试函数执行的顺序:以函数名中test后面的字符大小有关,比如-(void)test001XXX会先于-(void)test002XXX执行;

    4.运行单元测试的快捷键:CMD + U;

     

    二、各种断言测试:

    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没有发生具体异常、具体异常名称的异常时通过测试,反之不通过

  • 相关阅读:
    OpenYurt v0.4.0 新特性发布:高效地管理边缘存储资源
    OpenKruise v0.9.0 版本发布:新增 Pod 重启、删除防护等重磅功能
    dubbo-go v3 版本 go module 踩坑记
    阿里云携手 VMware 共建云原生 IoT 生态,聚开源社区合力打造领域标准
    一文告诉你Java日期时间API到底有多烂
    LocalDateTime、OffsetDateTime、ZonedDateTime互转,这一篇绝对喂饱你
    全球城市ZoneId和UTC时间偏移量的最全对照表
    全网最全!彻底弄透Java处理GMT/UTC日期时间
    GMT UTC CST ISO 夏令时 时间戳,都是些什么鬼?
    如何保证Redis高可用和高并发
  • 原文地址:https://www.cnblogs.com/dokaygang128/p/3520761.html
Copyright © 2011-2022 走看看