Skip to main content

iOS 单元测试框架 XCTest (三)Async 测试

· 9 min read

异步测试和 Expectation 是现代软件测试中的常见要求。异步测试是指涉及某种形式的异步行为的测试,例如网络请求或 UI 更新,这些行为不能由测试代码预测或控制。异步 Expectation 是对异步操作结果的断言,通常需要在一定的延迟或特定条件满足后进行。

在 XCTest 中,有几种处理异步测试和 Expectation 的方法。

使用 XCTestExpectation

XCTestExpectation 是 XCTest 提供的一个处理异步 Expectation 的类。您可以创建一个 Expectation 对象,并使用 waitForExpectations(timeout:handler:) 方法等待它被满足。例如:

func testAsyncOperation() {
let expectation = XCTestExpectation(description: "Async operation completed")

// 执行一些异步操作
DispatchQueue.main.async {
// 当异步操作完成时,标记Expectation已完成
expectation.fulfill()
}

// 等待Expectation被满足
wait(for: [expectation], timeout: 5.0)
}

iOS 单元测试框架 XCTest (二)Assert

· 4 min read

在 iOS 开发中,单元测试是一种验证代码正确性的重要手段。XCTest 是 Apple 提供的官方单元测试框架,它提供了一系列的断言(Assert)方法来帮助我们验证测试用例的预期结果。本文将详细介绍 XCTest 中的断言(Assert)使用方法。

iOS 单元测试框架 XCTest (一)介绍

· 6 min read

前置声明:此篇文章完全由 chatGPT 辅助撰写。

XCTest 是一个用于 iOS 项目的强大测试框架,可以帮助你确保你的代码质量和稳定性。本教程将介绍 XCTest 的基本概念和使用场景,帮助你快速上手 XCTest。

一、XCTest 简介

XCTest 是 Apple 提供的用于测试 iOS、macOS、tvOS 和 watchOS 项目的官方测试框架。它支持单元测试、性能测试和 UI 测试,可以帮助你在开发过程中检测和修复代码中的问题。

XCTest 的主要组件包括:

  • XCTest(测试框架):提供了一系列类和方法,用于编写和执行测试。
  • XCTestObservation(测试观察):允许你观察测试执行过程中的事件。
  • XCTestExpectation(测试期望):用于测试异步代码。

Flutter 项目第三库精选

· 7 min read

Flutter 是一个强大的 UI 工具包,能够帮助开发者快速构建高性能的跨平台应用。为了提高开发效率和应用质量,Flutter 生态系统中有许多优秀的库可供使用。以下是一些常用的 Flutter 库,按照功能分类进行详细介绍。

投资工具之ETF

· 18 min read

什么是 ETF?

ETF,全称交易型开放式指数基金,通常又被称为交易所交易基金(Exchange Traded Funds,简称"ETF"),是一种在交易所上市交易的、基金份额可变的开放式基金。

概念里有几个关键字:

  • 交易型:指跟股票一样可以买卖

  • 指数基金:按照指数配比购买一揽子股票等,还可以根据指数定期调整组合

ETF 与股票的区别

ETF 与股票是两类完全不同的投资工具,主要差别有以下几方面:

  • 单一股票的投资风险相对集中,而 ETF 作为一揽子证券组合,其风险能在一定程度上得到分散;

2023 Forward 之 投资理财

· 16 min read

本文是第二篇,投资理财。

2022 Review

先来回顾一下 2022 年的 A 股市场表现,A 股全年基本上是个 W 型走势,上证指数围绕着 3000 点上蹿下跳。债市方面,震荡向上,后在 11 月份遇到破净潮,遭遇大幅下跌。A 股整体而言,行业轮动很快,表现最好的是煤炭,连涨三年了,去年的基金冠军,基本上都是重仓煤炭行业的。

tFCS4A

放眼全球,海外市场通胀高烧不退,全球央行加息总的超过百次。股市普跌,商品、美元上涨。

iOS APNS 推送服务接入问题汇总

· 8 min read

在开发 iOS 应用时,推送通知是与用户保持联系的关键功能。然而,在接入苹果的 APNS(Apple Push Notification Service)时,可能会遇到各种技术挑战。以下是一些常见的 APNS 推送服务接入问题及其解决方案。

C 语言的高阶函数

· 16 min read

什么是高阶函数?

这个概念来自于函数式编程,高阶函数是指至少支持以下特定之一的函数:

  • 将一个或多个函数作为参数
  • 返回函数作为其结果

现代的高级语言几乎都支持这一特性,如 Go、JavaScript、Swift、Kotlin 等。

C 语言本身不支持高阶函数,但是可以通过函数指针来达到这一效果。