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 Swift or Objective-C

Swift and Objective-C 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.


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


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


A library for unit testing UIAlertControllers. Works for both Swift and Objective-C. Read about them in How to Test UIAlertControllers and Control Swizzling.


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


An xcconfig that enables lots of Xcode warnings. Read about it in Xcode Warnings: Can You Turn Them Up to Eleven?.

TemplatesXcode Snippets for Tests

Code snippets to help you write test cases. For Xcode and AppCode, in both Swift and Objective-C. Available to all new subscribers.

XCTest templatesXCTest Templates

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