Since I haven't found this info anywhere in the Blogosphere and had to painfully gather it through a long debugging stare, I'm posting it here:
If you want do debug Unit Tests in Xcode 3.1 you have to do the usual, that is:
- Make a custom Executable
- Set it's argumet to
- Set some Environment Variables
$(BUILT_PRODUCTS_DIR)/InvocationBuilder Tests.octestThis is of course where you have enter the name of your test bundle
So far nothing new.
What is new though is that you also set the variable
XCInjectBundleInto to point to the executable that is going to load the tests (probably to avoid the 3.0 Bug that would load the tests into the shell that GDB used to start the Application). This should be the same as the
$(TEST_HOST) variable that you have to set for the Unit Test bundle. In my case this is
This is quite interesting, since it means that
otest is not used anymore to start the tests, but instead
RunTargetUnitTests executes the tests directly.
Well, now that I can again debug my tests maybe I'l even get it to work with debugging Unit Tests which use Mock-Objects sometime. :-)