Never seen anyone refactor like that

Jon introduced Test Driven Development to the team and led by example. I've never seen anyone refactor the large code-base that we had and contribute to new features at the same time.

Bagath Pugazhendhi Engineering Manager

How to Write Clean Code

safety harness

Unit Testing

A robust suite of unit tests acts as a safety harness, giving you courage to make bold changes. But there’s an art to making tests that give you useful information, while keeping the tests themselves readable & maintainable.



Unit tests written after production code are hard to write, and may only confirm your biases. Test Driven Development shapes production code in response to tests, in an evolutionary manner. The secret sauce? Continuous Refactoring.



We can’t just bang code together and expect it to be testable. Testability must be designed in. That design brings other benefits, making it easier to modify the code. The ultimate goal? Drive down your cost of change.

Discover the Quality Coding Blog


All of my iOS changes are now covered by unit tests

When I was just starting with unit testing, I attended a talk from Jon on the different types of unit testing. Jon really helped me understand how all of the pieces come together. I now ensure that all of my iOS code has changes that are covered by unit tests. A lot of Jon's posts on Quality Coding help with understanding ways in which you can write tests for tricky components unique to your ecosystem.

Orta Therox
Head of Mobile at Artsy

Unit test success

Thank you so much for these awesome screencasts and tips!! I have used your techniques to unit test view controller and XIBs and UIAlertViews successfully :-)

Amit Rao