XCTest iOS Swift单元测试(1),涨姿势

这篇具有很好参考价值的文章主要介绍了XCTest iOS Swift单元测试(1),涨姿势。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

//

// XCTestDemoTests.swift

// XCTestDemoTests

//

// Created by Nvr on 2018/7/6.

// Copyright © 2018年 ZY. All rights reserved.

//

import XCTest

@testable import XCTestDemo

class XCTestDemoTests: XCTestCase {

var f1:Float?

var f2:Float?

override func setUp() {

super.setUp()

// Put setup code here. This method is called before the invocation of each test method in the class.

f1 = 10.0

f2 = 20.0

}

override func tearDown() {

// Put teardown code here. This method is called after the invocation of each test method in the class.

super.tearDown()

}

func testExample() {

// This is an example of a functional test case.

// Use XCTAssert and related functions to verify your tests produce the correct results.

XCTAssertTrue(f1! + f2! == 30.0)

}

//simpale Test

func testIsPrimenumber() {

let oddNumber = 5

//There are lot XCTAssert function, you can check it

XCTAssertTrue(isPrimenumber(number: Double(oddNumber)))

}

func isPrimenumber(number:Double) -> Bool{

for No in 1…Int(sqrt(number)) {

if Int(number)/No != 0 {

return true

}

}

return false

}

func testPerformanceExample() {

// This is an example of a performance test case.

self.measure {

// Put the code you want to measure the time of here.

}

}

}

例子说明:

| 函数 | 说明 |

| — | — |

| testExample | 全局变量f1 + f2 相加是否等于固定的数,断言是否相等 |

| testIsPrimenumber | 判断是否是素数 断言是否返回真 |

总结:通过上面的两个例子,应该明白了XCUintTest是干什么,怎么用的啦。

断言常用API:

| API | 说明 |

| — | — |

| XCTFail(…) | 任何尝试都会测试失败,…是输出的提示文字。(后面都是这样) |

| XCTAssertNil(expression, …) | expression为空时通过,否则测试失败。 expression接受id类型的参数。 |

| XCTAssertNotNil(expression, …) | expression不为空时通过,否则测试失败。expression接受id类型的参数。 |

| XCTAssert(expression, …) | expression为true时通过,否则测试失败。expression接受boolean类型的参数。 |

| XCTAssertTrue(expression, …) | expression为true时通过,否则测试失败。expression接受boolean类型的参数。 |

| XCTAssertFalse(expression, …) | expression为false时通过,否则测试失败。expression接受boolean类型的参数。 |

| XCTAssertEqualObjects(expression1, expression2, …) | expression1和expression1地址相同时通过,否则测试失败。expression接受id类型的参数。 |

| XCTAssertNotEqualObjects(expression1, expression2, …) | expression1和expression1地址相同时通过,否则测试失败。expression接受id类型的参数。 |

| XCTAssertEqual(expression1, expression2, …) | expression1和expression1相等时通过,否则测试失败。expression接受基本类型的参数(数值、结构体之类的)。 |

| XCTAssertNotEqual(expression1, expression2, …) | expression1和expression1不相等时通过,否则测试失败。expression接受基本类型的参数。 |

| XCTAssertEqualWithAccuracy(expression1, expression2, accuracy, …) | expression1和expression2之间的任何值都大于accuracy时,测试失败。expression1、expression2、accuracy都为基本类型。 |

| XCTAssertNotEqualWithAccuracy(expression1, expression2, accuracy, …) | expression1和expression2之间的任何值都小于等于accuracy时,测试失败。expression1、expression2、accuracy都为基本类型。 |

| XCTAssertGreaterThan(expression1, expression2, …) | expression1 <= expression2时,测试失败。expression为基本类型 |

| XCTAssertGreaterThanOrEqual(expression1, expression2, …) | expression1 < expression2时,测试失败。expression为基本类型 |

| XCTAssertLessThan(expression1, expression2, …) | expression1 >= expression2时,测试失败。 expression为基本类型 |

| XCTAssertLessThanOrEqual(expression1, expression2, …) | expression1 > expression2时,测试失败。 expression为基本类型 |

| XCTAssertThrows(expression, …) | expression没抛异常,测试失败。expression为一个表达式 |

| XCTAssertThrowsSpecific(expression, exception_class, …) | expression没抛指定类的异常,测试失败。expression为一个表达式,exception_class为一个指定类 |

| XCTAssertThrowsSpecificNamed(expression, exception_class, exception_name, …) | expression没抛指定类、指定名字的异常,测试失败。expression为一个表达式exception_class为一个指定类,exception_name为一个指定名字 |

| XCTAssertNoThrow(expression, …) | expression抛出异常时,测试失败。expression为一个表达式 |

| XCTAssertNoThrowSpecific(expression, exception_class, …) | expression抛出指定类的异常,测试失败。expression为一个表达式 |

| XCTAssertNoThrowSpecificNamed(expression, exception_class, exception_name, …) | expression抛出指定类、指定名字的异常,测试失败。 |


异步测试


下面一些情况会用到异步测试:

  • 打开文档

  • 在其他线程工作

  • 和服务或者扩展进行交流

  • 网络活动

  • 动画

  • UI测试的一些条件

网络请求异步Case

关于UI的异步测试在下篇XCUITest中说,一个网络请求的Case可以说明白异步测试的机制。

  1. pod导入alamofire,Target是你要测试的tests Target.

  2. 新建期望,用alamofire 发起请求。

  3. 请求回调里断言是否为空,fullfill期望看是否满足期望

  4. XCWaiter设置期望完成的时间

func testAsynNetworkTest(){

let networkExpection = expectation(description: “networkDownSuccess”)

Alamofire.request(“http://www.httpbin.org/get?key=Xctest”, method: .get, parameters: nil, encoding: JSONEncoding.default).responseJSON { (respons) in

XCTAssertNotNil(respons)

networkExpection.fulfill()

}

// waitForExpectations(timeout: 0.00000001)

// wait(for: [networkExpection], timeout: 0.00000001)

//XCTWaiter.Result 枚举类型如下

// public enum Result : Int {

//

//

// case completed

//

// case timedOut

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
XCTest iOS Swift单元测试(1),涨姿势,程序员,ios,swift,单元测试
XCTest iOS Swift单元测试(1),涨姿势,程序员,ios,swift,单元测试
XCTest iOS Swift单元测试(1),涨姿势,程序员,ios,swift,单元测试
XCTest iOS Swift单元测试(1),涨姿势,程序员,ios,swift,单元测试
XCTest iOS Swift单元测试(1),涨姿势,程序员,ios,swift,单元测试

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
XCTest iOS Swift单元测试(1),涨姿势,程序员,ios,swift,单元测试

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!文章来源地址https://www.toymoban.com/news/detail-855601.html

课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-Xxg0Xt4c-1712994189640)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

到了这里,关于XCTest iOS Swift单元测试(1),涨姿势的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 读程序员的README笔记06_测试(上)

    4.2.3.1. 消除外部依赖性可以使单元测试快速而集中 4.5.3.1. 压力测试可暴露系统的负载能力究竟有多大,以及在过度负载下会发生什么状况 4.6.3.1. ISO认证审核委员会要求提供需求和相应的测试文件证据 5.2.1.1. 管理测试的setup和teardown 5.2.1.2. 管理测试执行和编排 5.2.1.2.1. 可

    2024年02月05日
    浏览(50)
  • 读程序员的制胜技笔记05_测试(上)

    3.5.3.1. 也是最容易编写的 3.5.3.2. 只测试单个代码单元:公共函数(public function) 3.5.3.3. 需要是公开的,因为测试应该检查外部可见的接口,而不是类的内部细节 3.5.3.4. 问题是即便它让你能够知晓单个单元是否正常工作,但是并不能保证所有单元能够正常协同工作 3.5.4.1. 测

    2024年02月05日
    浏览(46)
  • 读程序员的制胜技笔记06_测试(下)

    1.3.1.1. 假设18岁是你游戏用户的法定年龄 1.3.2.1. C# 1.3.2.1.1. 不需要测试公元1年1月1日到9999年12月31日之间所有可能的DateTime值(有360多万个) 1.3.2.1.2. 只需要测试7个不同的输入 1.3.2.1.3. 通过条件语句将输入范围进行分割的操作称为“边界条件”(boundary conditional) 1.3.2.1.3.1. 定

    2024年02月05日
    浏览(48)
  • 适合程序员的DB性能测试工具 JMeter

    背景 1、想要一款既要能压数到mysql,又要能压数到postGre,还要能压数到oracle的自动化工具 2、能够很容易编写insert sql(因为需要指定表和指定字段类型压数据),然后点击运行按钮后,就能直接运行;不要写应用代码,因为我比较懒 3、可以指定测试时间,或者TPS等执行时行

    2024年02月12日
    浏览(64)
  • 测试/开发程序员有8大好处,自我实现和自我超越......

    测试/开发程序员有8大好处 很早前网络就关于程序员种种不好的标签,比如“不修边幅,生活邋遢“,“无趣呆板,不浪漫“,“加班多“,“不疼爱女朋友“,“情商低”等,通通都是瞎扯,除了加班多,其他跟程序员行一点关系都没有。 当测试/开发程序员好处多多 1、相

    2024年02月03日
    浏览(82)
  • 文心一言代码能力测试:文心一言能否取代程序员?

    文心一言代码协助能力使用体验,这篇博客基本上就是文心一言帮忙写的,素材是我和文心一言的对话,国产大语言模型确实取得了巨大的成就,在和文心一言对话的过程中感到未来已来,确实和之前的自动问答机器人不一样。对于文心一言之类的大语言模型能否取代程序员

    2024年02月05日
    浏览(51)
  • 为什么有35岁「职业危机」的程序员不转做测试呢?

    针对这个问题,我想我还是有点发言权的,虽然我不是做开发,但是我老公是妥妥的程序员一枚,而我又是干测试的,所以我也会问他,为啥不转测试呀,测试相对不累,且工资也高于市面很多工作,即轻松又能赚钱,何乐而不为? 和老公交流过这个问题。交流后,我觉得要

    2024年02月10日
    浏览(55)
  • 黑豹程序员-架构师学习路线图-百科:API接口测试工具Postman

    目前我们开发项目大都是前后端分离项目,前端采用h5+css+js+vue基于nodejs,后端采用java、SpringBoot、SSM,大型项目采用SpringCloud微服务。 后端为和前端对接,形成很多API接口,也就是URL链接和其参数。 这时后端写完后我们前端还有大量代码需要写,所以写前端之前最好保证后端

    2024年01月19日
    浏览(53)
  • 上海28岁程序员失业,感叹:测试估计没戏了,想去卖点煎饼果子养家~

     程序员危机,似乎是一个跨不过去的坎,最近,在职场论坛上看到了一位魔都程序员被裁的帖子,现在因为“互联网寒冬”不少程序员优化被裁。   帖子具体内容如下:因为疫情,老大哥所在部门被砍掉了,部门所有人都被裁掉了。 老大哥是做测试的,python,自动化测试,

    2024年02月08日
    浏览(49)
  • 50岁程序员还奋战在一线,软件测试能干到多少岁?有年龄限制吗?

    ​软件测试能干到多少岁?有年龄限制吗?做软件测试工程师能干到多少岁这个问题无异于人能活到多少岁,很多事情是不可预估,要解答这个问题只能从行业就业人员的平均年龄和软件测试在未来的发展情况来分析。 有第三方市场就业调查数据显示,目前超过35岁的测试工

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包