Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
BDD-style testing using Objective-C
Objective-C++ Objective-C C++ Ruby Other
Failed to load latest commit information.
Cedar.xcodeproj Xcode 6.3 housekeeping
CedarPlugin.xcplugin/Contents Adds DVTPlugInCompatibilityUUID for Xcode 6.3.2
CodeSnippetsAndTemplates Update templates to work with Xcode 6.3
English.lproj Initial commit
OCUnitApp Bumps version to 0.11.1
OCUnitAppLogicTests Suppressed SenTestingKit warning.
OCUnitAppTests Fail tests correctly under SenTestingKit
OS X Failing Test Bundle Usability for Cedar Test Bundle + Testing script tweaks.
OS X Host App Bumps version to 0.11.1
OS X Host AppTests Usability for Cedar Test Bundle + Testing script tweaks.
OS X XCTest Bundle Usability for Cedar Test Bundle + Testing script tweaks.
Source Version 0.11.3
Spec Print a helpful message if a matcher fails while setting up specs.
XCUnitAppTests Fix for running specs under SenTestingKit or XCTest.
iOSSpecs/Images.xcassets Fixes up launch image warnings for iOS targets
.gitignore RaiseException matcher extended to handle NSException' name
.gitmodules Remove dependence on OCMock
.travis.yml Updated travis.yml file to use iOS 8.1.
Cedar-Info.plist Version 0.11.3
Cedar.podspec Version 0.11.3
Gemfile Adds feature for failure to link AppDelegate
Gemfile.lock Upgrade gems
MIT.LICENSE.txt Renamed LICENSE file for cocoapod's linting.
README.markdown add instructions to readme
Rakefile Fixed installation of AppCode 3.1 live templates
iOSSpecs-Info.plist Bumps version to 0.11.1 Added space between arguments in usage of the install script.
installCodeSnippetsAndTemplates Allow any rake version during install
upgradeCedarFramework Made upgradeCedarFramework work with paths containing spaces



Build Status

Cedar is a BDD-style Objective-C testing framework with an expressive matcher DSL and convenient test doubles.

describe(@"Example specs on NSString", ^{
    it(@"lowercaseString returns a new string with everything in lower case", ^{
        [@"FOOBar" lowercaseString] should equal(@"foobar");

    it(@"length returns the number of characters in the string", ^{
        [@"internationalization" length] should equal(20);

    describe(@"isEqualToString:", ^{
        it(@"should return true if the strings are the same", ^{
            [@"someString" isEqualToString:@"someString"] should be_truthy;

        it(@"should return false if the strings are not the same", ^{
            [@"someString" isEqualToString:@"anotherString"] should be_falsy;

Quick start

  • Install the Xcode command line tools package (Under the Preferences tab 'Downloads') if you haven't already done so
  • Run the following in a terminal to install Xcode templates for ease of use:
    $ curl -L | bash
  • If you wish to specify a version. Run the following command: (version_name is v0.11.0, v0.10.0 etc...)
    $ bash <(echo "set -- --version 'version_name'; $(curl -L")
  • Or if you want to install from HEAD. Run:
    $ bash <(echo "set -- --head; $(curl -L")
  • Restart Xcode
  • Add new targets or files to your project using the Xcode templates, or create a new project to test-drive from scratch
  • Start writing specs!


Documentation can be found on the Cedar Wiki.

Support and feedback


Please read the Contributor Guide on the wiki.


Copyright (c) 2010-2014 Pivotal Labs. This software is licensed under the MIT License. Mixpanel

Something went wrong with that request. Please try again.