sgleadow / Kiwi

Simple BDD for iOS Developers

Home Page:

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Simple BDD for iOS

Kiwi is a Behavior Driven Development library for iOS development. The goal is to provide a BDD library that is exquisitely simple to setup and use.

Ping us at @alding or @lukeredpath and let us know what you are using Kiwi for.


  • Xcode 4.x
  • LLVM compiler recommended


The idea behind Kiwi is to have tests that are more readable that what is possible with the bundled test framework.

Tests (or rather specs) are written in Objective-C and run within the comfort of Xcode to provide a test environment that is as unobtrusive and seamless as possible in terms of running tests and error reporting.

Specs look like this:

describe(@"Team", ^{
    context(@"when newly created", ^{
        it(@"should have a name", ^{
            id team = [Team team];
            [[ should] equal:@"Black Hawks"];

        it(@"should have 11 players", ^{
            id team = [Team team];
            [[[team should] have:11] players];

To some of you, this might seem like an abomination. To the rest, read on...


Kiwi is open source software. You may freely distribute it under the terms of the license agreement found in License.txt.


The Kiwi Wiki is the official documentation source.

Getting it

The best way to get Kiwi is by cloning the git repository: git clone git://


Kiwi is maintained by:

  • Allen Ding (@alding)
  • Luke Redpath (@lukeredpath)

Pull requests welcome. Significant contributors are listed in Contributors.txt.


Simple BDD for iOS Developers

License:BSD 3-Clause "New" or "Revised" License


Language:Objective-C 99.7%Language:Ruby 0.2%Language:Shell 0.1%Language:C++ 0.1%