So you want to do unit testing?

But not for regressions, of course. Then you would be just like those fresh-faced Apple programmers “coding to the test” and building a system that satisfies all tests, but doesn’t really work that well, and misses critical tests of functionality.

No. You want to do unit testing so you can validate the behaviour of classes in an environment that is much more simple that your final application. Once your prove your objects are working well, there will be little need to ever run the tests again.

But why aren’t your unit tests working? Or, rather, why aren’t your categories defined in a static library working? It finds the header. It is linking with the library. Your project is correctly using Apple’s crazy sibling workspace design. But your static library is missing at runtime?

Silly programmer. You forgot to include the “-all_load” flag to your linker flags to tell Xcode that you really do want to link to your libraries.

Edit: Apparently this is the result of two different linker bugs, from 2006 and 2010, of course. I’m sure the linked passed all the unit tests.