I have wanted to get better at unit testing and the tooling around it for some time. I usually start out determined to get a good amount of the code covered by unit tests, and to possibly get some UI tests built around user interactions. Unfortunately, deadlines intervene, and the tests get abandoned. With my most recent project, I decided to put all of these practices in place.

This is going to require learning as I go, and I intend to document my progress here for my own learning and hopefully to help anyone else who is researching the same thing.

I intend to use the following technologies:

  • Unit testing using standard the OCUnit/SenTest frameworks included with Xcode
    • I’ve flirted with other projects in the past, including Kiwi . I really like the syntax and organization that Kiwi provides, but I want to stick with the out of the box stuff for now
  • Integration/UI testing with Frank. I’ve got a fair amount of experience with Frank. I’ve also played with KIF, and much prefer the separation and tooling that Frank provides
  • Continuous Integration using Jenkins
  • Build versioning using a build script for automated version increments for release builds

I’m going to try to document my thought process and all the steps I take along the way. Hopefully, I can get some constructive feedback on any improvements I can make.