Kiwi
Kiwi is a free Behavior Driven Development library for iOS development.
What Kiwi is
Kiwi is a free Behavior Driven Development library for iOS development. Developers write specifications in Objective-C and run them inside Xcode, using describe, context, and it blocks to organize behavior-focused tests. Kiwi’s stated aim is to make specifications more readable than those produced with the bundled test framework. Its official GitHub wiki documents expectations, mocks and stubs, and asynchronous testing. The README includes installation instructions for CocoaPods and Carthage, and the podspec declares XCTest as a framework dependency. Kiwi supports Gherkin and runs locally on iOS and macOS, but it does not provide browser testing or API access. The wiki identifies Kiwi 2.0 as the most recent version and says it is in active development; Kiwi 1.0 is legacy and no longer updated. The repository uses a BSD 3-Clause license with stated conditions and warranty disclaimers. Questions and suggestions go to the Google Group, while bugs and feature requests use GitHub issues.
Good
- Free BDD library for iOS
- Readable describe, context, and it structure
- Documentation covers expectations, mocks, and asynchronous testing
- CocoaPods and Carthage installation guidance
- BSD 3-Clause license
Watch out
- No browser testing
- No API access
- Kiwi 1.0 is legacy and no longer updated
- Specs require Objective-C and Xcode
Who it suits
Kiwi suits iOS developers who want Objective-C BDD specifications integrated with Xcode. It is intended for local testing workflows rather than browser or API testing.
Verdict
Kiwi provides a local, Xcode-centered BDD approach with documented test doubles, expectations, and asynchronous testing. Developers should use the actively developed 2.0 line rather than the legacy 1.0 version.
The facts
Each one read from Kiwi's own pages, with the date it was checked.
What it does
- Asynchronous testing
- The official wiki lists asynchronous testing among its reference topics.checked 7 Oct 2026
- Documentation
- The project identifies its GitHub wiki as the official documentation source.checked 7 Oct 2026
- Documentation status
- The wiki identifies itself as the official documentation and says Kiwi 1.0 is legacy and no longer updated.checked 8 Oct 2026
- Expectations
- The official wiki includes reference material for expectations.checked 7 Oct 2026
- Framework
- The podspec declares XCTest as a framework dependency.checked 8 Oct 2026
- Installation
- The README documents installation through CocoaPods or Carthage.checked 8 Oct 2026
- Intended users
- Kiwi is intended for iOS developers seeking a BDD library that integrates with Xcode.checked 7 Oct 2026
- Language and environment
- Specs are written in Objective-C and run within Xcode.checked 7 Oct 2026
- Language and IDE
- Specs are written in Objective-C and run within Xcode.checked 8 Oct 2026
- License
- The repository includes a BSD 3-Clause license.checked 8 Oct 2026
- Mocks and stubs
- The official wiki includes reference material for mocks and stubs.checked 7 Oct 2026
- Purpose
- Kiwi is a Behavior Driven Development library for iOS development.checked 8 Oct 2026
- Readable specs
- The project says Kiwi aims to make tests more readable than those possible with the bundled test framework.checked 8 Oct 2026
- Spec structure
- The README shows specs organized with describe, context, and it blocks.checked 7 Oct 2026
- Support
- The README directs questions and suggestions other than bug reports to the Google Group, while the wiki directs bug reports and feature requests to GitHub issues.checked 8 Oct 2026
- Test capabilities
- The official documentation lists specs, expectations, mocks and stubs, and asynchronous testing as reference topics.checked 8 Oct 2026
- Version status
- The wiki says Kiwi 2.0 is the most recent version and in active development, while Kiwi 1.0 is legacy and no longer updated.checked 7 Oct 2026
- Warranty
- The license provides the software “AS IS” and disclaims express and implied warranties.checked 8 Oct 2026
Where it runs
- Platform targets
- The podspec sets deployment targets of iOS 8.0 and OS X 10.8.checked 8 Oct 2026
Alternatives to Kiwi
- 1

Karate
Free planOpen sourceAPIExtensionLinuxmacOS8.2From $100 a year - 2
FitNesse
Free planWebAPILinuxmacOS6.7Free plan - 3

Reqnroll
Free planWindowsmacOSLinux6.7From €400 a year - 4
BddDotNet
Free planLinuxmacOSWindows6.6Free plan - 5
BDDX
Free planWeb6.6From $9.99 a month - 6

Cucumber Open
Free planAndroidAPILinuxmacOS6.6Free plan
