Quick 是一个适用于 Swift 和 Objective-C 的行为驱动开发框架。 灵感来源于 RSpec、Specta 和 Ginkgo。
// Swift
import Quick
import Nimble
class TableOfContentsSpec: QuickSpec {
override class func spec() {
describe("'Documentation' 目录") {
it("包含了你开始所需的一切") {
let sections = Directory("Documentation").sections
expect(sections).to(contain("使用 Quick 示例和示例组组织测试"))
expect(sections).to(contain("安装 Quick"))
}
context("如果没有你要找的内容") {
it("需要更新") {
let you = You(awesome: true)
expect{you.submittedAnIssue}.toEventually(beTruthy())
}
}
}
}
}
Nimble
Quick 与 Nimble(一个测试匹配框架)搭配使用。你可以了解为什么 XCTAssert()
语句会使你的期望变得不清晰,以及如何使用 Nimble 断言来解决这个问题,详情请参阅这里。
Swift 版本
Quick 和 Nimble 的某些版本只支持特定版本的 Swift。根据你的项目使用的 Swift 版本,你应该使用特定版本的 Quick 和 Nimble。使用下表来确定哪些版本的 Quick 和 Nimble 与你的项目兼容。
Swift 版本 | Quick 版本 | Nimble 版本 |
---|---|---|
Swift 5.2 | v3.0.0 或更高 | v9.0.0 或更高 |
Swift 4.2 / Swift 5 | v1.3.2 或更高 | v7.3.2 或更高 |
Swift 3 / Swift 4 | v1.0.0 或更高 | v5.0.0 或更高 |
Swift 2.2 / Swift 2.3 | v0.9.3 | v4.1.0 |
文档
所有文档都可以在 Documentation 文件夹 中找到,包括 CocoaPods、Carthage、Git 子模块、Swift Package Manager 等的详细安装说明。例如,你可以通过在 Podfile
中添加以下内容来使用 CocoaPods 安装 Quick 和 Nimble:
# Podfile
use_frameworks!
target "MyApp" do
# 常规库
target 'MyApp_Tests' do
inherit! :search_paths
pod 'Quick'
pod 'Nimble'
end
end
你也可以通过在 Package.swift
的依赖部分添加以下内容来使用 Swift Package Manager 安装 Quick 和 Nimble:
dependencies: [
.package(url: "https://github.com/Quick/Quick.git", from: "7.0.0"),
.package(url: "https://github.com/Quick/Nimble.git", from: "12.0.0"),
],
使用 Quick 的项目
超过一万个应用程序使用了 Quick 和 Nimble,但由于它们不包含在应用程序二进制文件中,因此不会出现在"最常用库"的博客文章中。因此,通过编制使用它们的组织和项目列表来提醒贡献者他们的努力是有价值的,这将非常感激。
你的组织或项目是否使用 Quick 和 Nimble?如果是,请将你的项目添加到列表中。
谁在使用 Quick
与使用 Quick 的项目类似,我们很想听听人们为什么使用 Quick 和 Nimble。有哪些功能是你喜欢的?有哪些功能只是一般?我们有哪些功能是没人使用的?
对 Quick(或 Nimble)有什么积极的评价吗?如果有,请在这里提供推荐。
隐私声明
Quick 是一个仅用于测试的库,不应该包含在提交给 App Store Connect 的二进制文件中。 如果你在提交的二进制文件中包含了 Quick,你的应用将会被拒绝,因为 Quick 使用了私有 API 以更好地与 Xcode 集成。
尽管不会被发送到 Apple,Quick 不会也永远不会收集任何类型的分析或跟踪数据。
许可证
Apache 2.0 许可证。详情请参阅 LICENSE
文件。