-
Notifications
You must be signed in to change notification settings - Fork 512
Up and Running with Kiwi for Mac
- Make a new project
- Create/Add Kiwi to existing Podfile
- Run (in the terminal): pod install
- Change test file to Kiwi Spec, run tests (cmd + U)
Sample working project file: https://github.com/shepting/kiwi-mac-demo
First, create a new project in Xcode. In the sidebar on the left choose "Application" under the "Mac OS X" section.
There will be an action sheet drop-down with options.
Create a file named Podfile. Update the target names to match those in your app (MacApp and MacAppTests will become something like RidgeRacer and RidgeRacerTests). Add whatever other pods you'd like to either target. If you don't yet have CocoaPods, follow the directions here: https://github.com/CocoaPods/CocoaPods
# Test podfile for Mac
platform :osx, '10.8'
target 'MacApp', :exclusive => true do
pod 'AFNetworking'
end
target 'MacAppTests', :exclusive => true do
pod 'Kiwi/XCTest'
end
In the terminal run:
$> pod install
There will be two files (MacAppTests.h and MacAppTests.m) in the tests group (MacAppTests). You can delete these.
Add a new spec file (SHAppDelegateSpec.m) to this group.
#import "SJHAppDelegate.h"
#import "Kiwi.h"
SPEC_BEGIN(SJHAppDelegateSpec)
describe(@"SHAppDelegateSpec", ^{
__block SJHAppDelegate *dm;
beforeEach(^{
dm = [[SJHAppDelegate alloc] init];
});
context(@"application:DidFinishLaunching:", ^{
it(@"should call call", ^{
[[dm should] receive:@selector(firstCall)];
[dm applicationDidFinishLaunching:nil];
});
it(@"should call otherCall", ^{
[[dm should] receive:@selector(otherCall)];
[dm applicationDidFinishLaunching:nil];
});
});
});
SPEC_END
Press CMD + U to run the tests. They should both fail. Update your app delegate file with two dummy methods and have applicationDidFinishLaunching: call them and the tests should pass. Done!