OSS TanbouSign in with GitHub

organize Swift and Objective-C tests as BDD specifications with describe, context, and it

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
9,825
Primary language
Swift
License
Apache-2.0
Repository last updated
May 18, 2026
On this page

Overview

Quick is a BDD testing framework for Swift and Objective-C inspired by RSpec and similar tools. It structures XCTest-based specifications with describe, context, and it blocks so expected behavior reads as a hierarchy of scenarios.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Structure specifications with describe, context, and it

QuickSpec defines examples inside describe, context, and it blocks so features, conditions, and expected behavior are visible in the test structure. Nimble can be paired with Quick for matcher-style expectations.

Sources: [2]

Detect accidentally focused tests with QuickLint plugins

Package.swift in 7.6.2 includes a QuickLint executable plus build and command plugins that help detect focused Quick tests before they are left in the suite.

Sources: [3]

Best fit

Fits iOS test suites where XCTest method names alone do not communicate behavior clearly

It is useful for UI, domain, and networking tests that benefit from scenario-oriented organization and readable behavior descriptions.

Sources: [2]

Before adoption

Keep Quick in test targets and out of application binaries

The README explicitly treats Quick as test-only and warns not to ship it in binaries submitted to App Store Connect. Package.swift for 7.6.2 declares iOS 13+ and Swift tools 5.7, and its Nimble dependency stays on the 13.x major line. Check Quick compatibility before combining it with Nimble 14.

Sources: [2][3][4]

Official sources

  1. [1]Quick/Quick — GitHub repository(2026-10-06)
  2. [2]Quick v7.6.2 — README(2026-10-06)
  3. [3]Quick v7.6.2 — Package.swift(2026-10-06)
  4. [4]Quick v7.6.2 release(2026-10-06)
  5. [5]Quick Apache-2.0 license(2026-10-06)
Supplemental curator note

Quick fits iOS projects that want readable, scenario-oriented test specifications. It is test-only, and Quick 7.6.2 depends on the Nimble 13.x line, so check compatibility before using Nimble 14 alongside it.

Try it in 3 steps

  1. 1

    Add Quick 7.6.2 as a test dependency

    Add Quick only to a test target. Version 7.6.2 has an iOS 13 minimum platform.

    .package(url: "https://github.com/Quick/Quick.git", exact: "7.6.2")
  2. 2

    Define a scenario with QuickSpec

    Use describe and it to structure behavior and run an XCTest assertion inside the Quick example.

    import Quick import XCTest final class MathSpec: QuickSpec { override class func spec() { describe("addition") { it("adds two values") { XCTAssertEqual(1 + 1, 2) } } } }
  3. 3

    Run the spec from the test target

    Confirm the specification runs from tests without linking Quick into the application binary.

    swift test
Check the official README

Growth

Growth trends · Last 30 days

9,825 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
0
Open PRs
14

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • swift
  • cocoapods
  • objective-c
  • carthage
  • testing
  • bdd
  • ios
Stars
9,825
Forks
893
Watchers
221
Open issues
35
Contributors
142
Owner type
Organization
Primary language
Swift
License
Apache-2.0
Repository last updated
May 18, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?