Strange Loop

Unit-testing for iOS

Learn the why and the how of unit-testing for your iOS applications using Kiwi, a popular open-source testing library.

You will leave this workshop excited to apply what you've learned to start testing your iOS app. In fact, you'll probably want to fire up your project in XCode straight afterwards!

We'll start with the basics, covering what unit-testing is (and isn't), and why it will be a valuable addition to your programming toolbox.

Having touching on some theory we'll then spend the majority of the workshop learning by doing. We'll start by setting up an xCode project for testing with Kiwi, and quickly move on to writing our first simple test.

After learning the basics with some isolated examples we'll move on to look at how to unit tests an real iOS app. As we go we'll learn about mocking and stubbing, and when to make the decision not to test. We'll learn how to test in the context of a CocoaTouch app, and how testing can positively influence the design of your app (hint: your app delegate and your view controller isn't the only place to put your business logic!).

We'll wrap up by touching on some more advanced topics such as test-driven development, CI, and how to test asynchronous code.

Pete Hodgson

Pete Hodgson


Pete Hodgson is a consultant with ThoughtWorks, where he's spent the last few years helping teams become awesome at sustainable delivery of high-quality mobile applications. Pete is on a mission to bring modern agile practices like continuous integration and automated testing to the iOS development community. While working on an iOS application for a large financial institution he helped create Frank, an automated acceptance testing tool for native iOS applications. He is now the open-source maintainer for Frank, which has become a leading tool for automated testing.