Tools I’ve Made

I wrote the following tools, and use them regularly. Look through the list, and see what might help you.

See also: Books I Recommend

Bowling Game TDD KataBowling Game TDD Kata in Objective-C or Swift

My Objective-C and Swift versions of the Bowling Game TDD Kata, designed to teach Test Driven Development. Read about it in Xcode TDD Kata: Practice with the Bowling Game.


My library for writing test assertions, and a framework for creating your own assertions. The Objective-C version of Hamcrest.


My library for generating stubs and mocks. The Objective-C version of Mockito.

uialertcontrollerMockUIAlertController / MockUIAlertViewActionSheet

My libraries for unit testing UIAlertControllers, or older UIAlertViews and UIActionSheets. Read about them in How to Test UIAlertControllers and Control Swizzling.


My library for gathering and viewing test coverage. Read about it in How to Easily Measure Code Coverage in Xcode.


My xcconfig to enable lots of Xcode warnings. Read about it in Xcode Warnings: Turn Them Up to Eleven.

TemplatesXcode Snippets for Tests

My test case code snippets for Xcode and AppCode, in both Objective-C and Swift. Available to all new subscribers.

XCTest templatesXCTest Templates

Apple’s template fills test suites with cruft I don’t want. My templates are sleek, containing a single failing test to verify that the suite has been wired up correctly. For both Objective-C and Swift.