Nimble

Nimble

Swift和Objective-C的简洁断言框架

Nimble作为Swift和Objective-C的断言框架,允许开发者简洁表达预期结果。它支持多种安装方式,包括主流的包管理工具。框架提供丰富匹配器,便于各类断言操作,有效提升测试效率。Nimble不涉及数据收集,专注于提供高质量的测试工具。

Nimble

构建状态 CocoaPods Carthage兼容 平台

使用Nimble来表达Swift或Objective-C表达式的预期结果。灵感来自Cedar

// Swift expect(1 + 1).to(equal(2)) expect(1.2).to(beCloseTo(1.1, within: 0.1)) expect(3) > 2 expect("seahorse").to(contain("sea")) expect(["Atlantic", "Pacific"]).toNot(contain("Mississippi")) expect(ocean.isClean).toEventually(beTruthy())

文档

Nimble的文档现在位于Sources/Nimble/Nimble.docc作为文档目录。你可以在quick.github.io/Nimble轻松浏览它。

安装Nimble

Nimble可以单独使用,也可以与其姊妹项目Quick一起使用。要同时安装Quick和Nimble,请遵循Quick文档中的安装说明

目前,Nimble可以通过四种方式安装:Swift包管理器、CocoaPods、Carthage或git子模块。

Swift包管理器

Xcode

通过Xcode的Swift包管理器集成安装Nimble: 选择你的项目配置,然后是项目标签,再选择包依赖标签。点击列表底部的"加号"按钮,然后按照向导将Quick添加到你的项目中。指定https://github.com/Quick/Nimble.git作为URL,并确保将Nimble添加为你的单元测试目标的依赖项,而不是应用目标。

Package.Swift

要使用Swift包管理器和Nimble来测试你的应用,将Nimble添加到你的Package.Swift中,并将其与你的测试目标链接:

// swift-tools-version:5.7 import PackageDescription let package = Package( name: "MyAwesomeLibrary", products: [ // ... ], dependencies: [ // ... .package(url: "https://github.com/Quick/Nimble.git", from: "13.0.0"), ], targets: [ // 目标是包的基本构建块。目标可以定义一个模块或测试套件。 // 目标可以依赖于此包中的其他目标,以及此包所依赖的包中的产品。 .target( name: "MyAwesomeLibrary", dependencies: ...), .testTarget( name: "MyAwesomeLibraryTests", dependencies: ["MyAwesomeLibrary", "Nimble"]), ] )

请注意,如果你使用Swift包管理器安装Nimble,那么raiseException将不可用。

CocoaPods

要在CocoaPods中使用Nimble来测试你的macOS、iOS、tvOS或watchOS应用,将Nimble添加到你的podfile中,并添加use_frameworks!行以启用CocoaPods的Swift支持。

platform :ios, '13.0' source 'https://github.com/CocoaPods/Specs.git' # 在这里添加你的应用所需的任何pod target 'YOUR_APP_NAME_HERE_Tests', :exclusive => true do use_frameworks! pod 'Nimble' end

最后运行pod install

Carthage

要在Carthage中使用Nimble来测试你的macOS、iOS、tvOS或watchOS应用,将Nimble添加到你的Cartfile.private中:

github "Quick/Nimble" ~> 13.2

然后按照Carthage快速入门的其余步骤操作,并将Nimble与你的单元测试链接。

Git子模块

要使用Nimble作为子模块来测试你的macOS、iOS或tvOS应用,请遵循以下4个简单步骤:

  1. 克隆Nimble仓库
  2. 将Nimble.xcodeproj添加到你项目的Xcode工作空间
  3. 将Nimble.framework链接到你的测试目标
  4. 开始编写预期!

有关这些步骤的更详细说明,请阅读如何安装Quick。忽略涉及将Quick添加到你项目的步骤,以仅安装Nimble。

隐私声明

Nimble是一个仅用于测试的库,不应该包含在提交给App Store Connect的二进制文件中。

尽管不会被发送给Apple,Nimble不会也永远不会收集任何形式的分析或跟踪数据。

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多