quick/nimble

A Matcher Framework for Swift and Objective-C

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 46 minutes ago
Added to GitGenius on September 14th, 2026
Created on June 28th, 2014
Open Issues & Pull Requests: 30 (+0)
GitHub issues: Enabled
Number of forks: 609
Total Stargazers: 4,836 (+0)
Total Subscribers: 85 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 10.0 days
Mean response time: 148.8 days
90th percentile: 554.9 days
Tracked items: 25

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 8
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 823 days
Stale 30+ days: 8
Stale 90+ days: 7

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (3)
  • tricky (2)
  • enhancement (1)
  • question / needs more details (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Nimble is a matcher framework for expressing expected outcomes in Swift and Objective-C tests. Inspired by Cedar, it provides a fluent syntax for writing assertions that read naturally as expectations about code behavior.

The tool solves the problem of writing verbose, hard-to-read test assertions by offering matcher functions and operator overloads that let developers express test expectations in a declarative style. Rather than relying on basic equality checks, Nimble allows you to compose readable matchers that describe what you expect to happen, including support for asynchronous expectations where you need to wait for conditions to be met.

Nimble works best for teams already using or considering the Quick testing framework, its sister project, though it can be used independently. It suits any Swift or Objective-C project where test readability matters. The tool supports multiple installation methods: Swift Package Manager, CocoaPods, Carthage, and git submodules, giving flexibility across different project setups. One constraint to note is that the `raiseException` feature is unavailable when installing via Swift Package Manager.

The project maintains active development with regular updates to its documentation, which is organized as a Documentation Catalog for easy browsing. The codebase shows consistent attention to test infrastructure and API design, with thoughtful handling of edge cases in matcher implementations. Development activity reflects a focus on stability and compatibility across Apple platforms, with careful consideration given to how installation method choices affect available functionality.