# Quick/Nimble

A Matcher Framework for Swift and Objective-C

Repository: https://github.com/Quick/Nimble
Canonical: https://ross.abutalabs.com/products/nimble
Homepage: https://quick.github.io/Nimble/documentation/nimble/
Language: Swift
License: Apache-2.0
License Family: permissive
Topics: matcher-functions, swift-generics, swift-assertions, failure-messages, asynchronous-expectations, swift, testing, operator-overloads, bdd
Last push: 2026-05-04T23:59:49+00:00

## Health v2 (maintenance only)
Score: 72/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 80, release rhythm 47, longevity 100
- inputs: {"age_days": 4449, "days_push": 121, "days_rel": 278, "gap_med": 31, "n_releases_24m": 8}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 4838, forks 607 (observed 2026-08-28T04:09:01.237878+00:00)

## What it is
Nimble is a matcher framework for Swift and Objective-C that lets developers express expected outcomes of expressions with readable assertions like expect(x).to(equal(y)). It supports asynchronous expectations and pairs naturally with the Quick BDD testing framework.

## Use cases
- write readable test assertions in Swift
- assert asynchronous values with toEventually
- use BDD-style matchers in Objective-C tests
- get clear failure messages from failing tests
- compare floating point values with beCloseTo
- overload operators for expressive test expectations

## When to choose
- you write Swift or Objective-C unit tests and want expressive matchers
- you use the Quick BDD framework and need a matching assertion library
- you need to test asynchronous behavior with eventually-style expectations

## When to avoid
- you prefer plain XCTest assertions without extra dependencies
- your project is not in the Apple/Swift ecosystem
- you need a full BDD spec framework rather than just matchers

## Facets
- artifact type: library
- maturity: stable
- function: testing, e2e-testing
- domain: testing, developer-tools, mobile-development
- platform: cross-platform
- tags: bdd, matcher-framework, assertions, asynchronous-expectations, objective-c, unit-testing, swift, macos, ios

## Member repositories
- Quick/Nimble (main) score 72

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:01.237878+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:18:28.718947+00:00, confidence not recorded.
  - readme: https://github.com/Quick/Nimble (fetched 2026-08-28T04:09:01.237878+00:00, sha 4d72d289753d)
  - homepage: https://quick.github.io/Nimble/documentation/nimble/ (fetched 2026-08-29T09:01:09.716999+00:00, sha c9d659cb806f)
- Data as of 2026-08-30T08:39:29.467469+00:00.
