首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏华仔的技术笔记

    Xcode 7 自动测试XCTestCase

    在新建 UI Testing 后,我们会得到一个 {ProjectName}UITests 文件,默认实现是: import XCTest class UITestDemoUITests: XCTestCase

    2.3K70发布于 2018-05-17
  • 来自专栏一“技”之长

    iOS单元测试的那些事儿

    如下图: 二 关于XCTestCaseXCTestCase可以理解为一个测试用例类,其中可以定义多个测试用例函数。 通常最佳的实践是一个功能类对应一个XCTestCase测试类,在此测试类中对相应的功能类进行覆盖测试。 要定义一个测试用例类非常简单,遵循如下的步骤即可: 1. 创建一个XCTestCase的子类。 XCTestCase也支持进行更多定制化配置,例如超时时间,测试异常的记录等。 XCTestCase类中提供的初始化方法如下: // 通过invocation构造测试类 + (instancetype)testCaseWithInvocation:(nullable NSInvocation 最后,关于XCTestCase的性能测试,可以通过设置Option参数来控制循环次数,例如: - (void)testPerformanceExample { XCTMeasureOptions

    1.7K20编辑于 2022-09-16
  • 来自专栏Swift社区

    Swift 中的 StoreKit 测试

    Copy code @MainActor final class StoreKitTests: XCTestCase { func testProductPurchase() async throws Copy code @MainActor final class StoreKitTests: XCTestCase { var store: SettingsStore! Copy code @MainActor final class StoreKitTests: XCTestCase { var store: SettingsStore!

    72600编辑于 2024-07-29
  • 来自专栏大宇笔记

    XCTest iOS Swift单元测试

    新建项目的Tests Target 文件是这样的: import XCTest @testable import XCTestDemo class XCTestDemoTests: XCTestCase the code you want to measure the time of here. } } } 从注释我们可以知道这四个函数的意思: 函数 用途 setUp 继承与XCTestCase 函数测试文件开始执行的时候运行 tearDown 继承与XCTestCase 测试函数运行完之后执行 testExample 测试的例子函数 testPerformanceExample 性能测试 All rights reserved. // import XCTest @testable import XCTestDemo class XCTestDemoTests: XCTestCase

    3.1K30发布于 2019-01-15
  • 来自专栏朱慕之的博客

    单元测试

    并且.m文件有4个方法,如下: 测试文件名称自定义,可以删除自己创建,注意要继承自XCTestCase 通过Xcode的File->New->File->Source选择Unit Test Case Class 来新建一个UserTests,注意要继承XCTestCase类。 26 27 28 29 30 31 32 33 34 3 // MZToolsTest.m #import <XCTest/XCTest.h> @interface MZToolsTest : XCTestCase NSString *)string; @end 现在我们通过Xcode的File->New->File->Source选择Unit Test Case Class来新建一个UserTests,注意要继承XCTestCase

    2.1K20发布于 2018-08-02
  • 来自专栏韦弦的偶尔分享

    Swift 单元测试入门

    XCTestCase 的子类包含要运行的测试方法,其中只有以 "test" 开头的方法才会被 Xcode 解析并允许运行。 我们可以使用XCTAssertEqual 方法为此方法编写单元测试: final class StringExtensionsTests: XCTestCase { func testUppercaseFirst func storeQuery(_ query: String) { /// ... } } final class SearchQueryCacheTests: XCTestCase licenseKey.isEmpty else { throw Error.emptyLicenseKey } } } class LicenseValidatorTests: XCTestCase

    3.4K40编辑于 2023-01-06
  • 来自专栏网罗开发

    避免 Swift 单元测试中的强制解析

    让我们来看一个例子,测试 UserService实现的登陆机制是否正常工作: class UserServiceTests: XCTestCase { func testLoggingIn() 这是鲜为人知的,但事实上 Swift 测试可以是 throwing 函数,看看这个: class EndpointURLFactoryTests: XCTestCase { func testSearchURLContainsQuery 这很简单,我们只需要对 XCTestCase 增加一个拓展,让我们分析任何可选类型表达式,并且返回非可选的值或者抛出一个错误,像这样: extension XCTestCase { // 为了能够输出优雅的错误信息

    1.5K10发布于 2021-09-09
  • 来自专栏用户4624600的专栏

    iOS自动化测试XCTest探索

    XCTest框架类似于python中的unittest框架,声明一个测试case继承XCTestCase和测试方法,测试方法以test开头。

    3.7K30编辑于 2022-12-05
  • 来自专栏Swift社区

    使用 Swift Package 插件生成代码

    获得这些类型后,生成一个带有XCTestCase的.swift文件,其中包含每种类型的单元测试。 给定此输入并在主目标上运行测试,生成并运行XCTestCase,其中包含符合Fetchable协议的两种类型的测试。 GeneratedTests.swift import XCTest @testable import CodeGenSample class GeneratedTests: XCTestCase {

    3K20编辑于 2022-12-12
  • 来自专栏Swift社区

    Swift 中的函数式核心与命令式外壳:单向数据流

    import XCTestfinal class TimerReducerTests: XCTestCase { func testStart() { let state = TimerState import XCTestfinal class TimerMiddlewareTests: XCTestCase { func testSharing() async throws {

    68111编辑于 2024-09-22
  • 来自专栏iOS 备忘录

    简单的Swift函数的依赖注入

    再也不需要默认实现的类,同时还可以轻易mock测试randomizer: class CardGameTests: XCTestCase { func testDrawingRandomCard

    1.2K21发布于 2021-03-01
  • 来自专栏韦弦的偶尔分享

    利用Swift协议替换历史遗留的代码

    让我们先创建一个测试用例——DatabaseMigrationTests——它有一个方法来对LegacyDatabase和NewDatabase进行特定的测试: class DatabaseMigrationTests: XCTestCase 如果你想保留它们,最简单的方法是将测试用例重命名为DatabaseTests,并简单地在performTest中调用一次闭包,像这样: class DatabaseTests: XCTestCase {

    69230编辑于 2022-03-30
  • 来自专栏啄木鸟软件测试

    为什么我说写好测试很重要(二)

    开发步骤如下:   在 Tests 目录下为被测的类创建一个继承自 XCTestCase 的测试类。    XCTPrimitiveAssertNoThrowSpecificNamed(self, expression, @#expression, exception_class, exception_name, __VA_ARGS__) 经验小结   XCTestCase // HCTTestCase.h #import <XCTest/XCTest.h> NS_ASSUME_NONNULL_BEGIN @interface HCTTestCase : XCTestCase 4.小结   Xcode 自带的 XCTestCase 比较适合 TDD,不影响源代码,系统独立且不影响 App 包大小。适合简单场景下的测试。

    63590发布于 2021-08-13
  • 来自专栏向治洪

    React Native自动化测试

    RCTTestRunner预设了ReactNative的环境,并且可以以XCTestCase的形式在Xcode中直接运行测试 (最简单的方法就是使用runTest:module)。

    3.6K60发布于 2018-02-05
  • 来自专栏华仔的技术笔记

    译:如何用Swift进行TDD(测试驱动开发)

    class ProjectTests: XCTestCase { func test_asDictionary() { let project = Project(id: 5) } } 编译失败

    1.4K110发布于 2018-05-17
  • 来自专栏全栈程序员必看

    iOS之深入解析Xcode 13正式版发布的40个新特性

    Transparency 框架重置受保护资源“用户跟踪”的授权状态; 用 Swift 编写的测试方法可能会被标记为异步或异步抛出,以允许调用和等待来自异步 API 的结果,作为 Swift 并发语言功能的一部分; XCTestCase XCTest 现在能够在 watchOS UI 测试中合成 Digital Crown 旋转; XCTest 现在包括 setUp 和 tearDown 实例方法的异步抛出重载; 测试现在可以从任何线程调用 XCTestCase.expectation (description:),以及其他返回 XCTestExpectation 的 XCTestCase API,这消除了之前测试从主线程调用这些 API 的要求,并允许使用它们的现有测试采用异步,而无需

    12.8K40编辑于 2022-08-12
  • 来自专栏iOS开发~

    iOS_单元测试一之UnitTests

    循环等逻辑 纯UI描述不需要写单元测试 数据逻辑需要写单元测试 复杂代码需要进行合理的拆分 通过单元测试优化代码架构 二、创建测试文件 一般来说,我们会为一个类or一个类型的功能创建一个测试类,继承自XCTestCase

    1.3K20编辑于 2022-07-20
  • 来自专栏腾讯大讲堂的专栏

    一次iOS上脱机UI自动化测试方案的尝试

    追溯源代码发现KIF的用例管理是基于系统测试的用例形成的,而系统这一套用例SenTestingKit 库是不支持真机的,代码如下: @interface KIFTestCase : XCTestCase

    2.2K70发布于 2018-02-13
  • 来自专栏AllTests软件测试

    UI自动化常用库介绍及示例(三)

    测试用例(Swift语言)如下: // 公众号:AllTests软件测试 import XCTest // 测试类需继承自XCTestCase class LoginUITests: XCTestCase

    51010编辑于 2025-12-21
  • 来自专栏Swift社区

    Swift 中风味各异的依赖注入

    上述做法的好处是,我们仍然可以很容易地在测试中注入模拟数据,只需重新分配视图控制器的属性: class PhotoEditorViewControllerTests: XCTestCase {

    97310编辑于 2022-05-19
领券