使用 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 可以单独使用,也可以与其姊妹项目 Quick 结合使用。要同时安装 Quick 和 Nimble,请按照 Quick 文档中的安装说明进行操作。
目前可以通过四种方式安装 Nimble:Swift Package Manager、CocoaPods、Carthage 或使用 git 子模块。
要通过 Xcode 的 Swift Package Manager 集成安装 Nimble:选择您的项目配置,然后选择项目选项卡,然后选择 Package Dependencies 选项卡。 点击列表底部的“加号”按钮,然后按照向导将 Quick 添加到您的项目中。 指定 https://github.com/Quick/Nimble.git
作为 url,并确保将 Nimble 添加为单元测试目标的依赖项,而不是您的应用程序目标。
要使用 Swift Package Manager 测试您的应用程序,请将 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: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages this package depends on.
.target(
name: "MyAwesomeLibrary",
dependencies: ...),
.testTarget(
name: "MyAwesomeLibraryTests",
dependencies: ["MyAwesomeLibrary", "Nimble"]),
]
)
请注意,如果您使用 Swift Package Manager 安装 Nimble,则 raiseException
不可用。
要在 CocoaPods 中使用 Nimble 来测试您的 macOS、iOS、tvOS 或 watchOS 应用程序,请将 Nimble 添加到您的 podfile,并添加 use_frameworks!
行以启用 CocoaPods 的 Swift 支持。
platform :ios, '13.0'
source 'https://github.com/CocoaPods/Specs.git'
# Whatever pods you need for your app go here
target 'YOUR_APP_NAME_HERE_Tests', :exclusive => true do
use_frameworks!
pod 'Nimble'
end
最后运行 pod install
。
要在 Carthage 中使用 Nimble 来测试您的 macOS、iOS、tvOS 或 watchOS 应用程序,请将 Nimble 添加到您的 Cartfile.private
github "Quick/Nimble" ~> 13.2
然后按照 Carthage 快速入门 的其余步骤操作,并将 Nimble 与您的单元测试链接。
要使用 Nimble 作为子模块来测试您的 macOS、iOS 或 tvOS 应用程序,请按照以下 4 个简单步骤操作
有关每个步骤的更详细说明,请阅读 如何安装 Quick。忽略涉及将 Quick 添加到您的项目的步骤,以便仅安装 Nimble。
Nimble 是一个仅用于测试的库,永远不应包含在提交到 App Store Connect 的二进制文件中。
尽管没有运送到 Apple,但 Nimble 不会,也永远不会收集任何类型的分析或跟踪数据。