PDA

View Full Version : OCUnit Testing Problems in Xcode 3.2.4




isthisonetaken
Nov 7, 2010, 09:44 PM
Hey guys,

so I'm trying to get OCUnit testing working in Xcode 3.2.4, but I keep running into problems. I found this article: https://developer.apple.com/library/mac/#featuredarticles/UnitTestingXcode3/ (probably need to sign in to read it) as well as this one: http://sqllyw.wordpress.com/2009/11/22/adding-unit-test-to-objective-c-application-in-xcode-3-2/

Both times, I get to the part where it says to build the unit tests to see the errors and I get different results. I wind up getting 2 errors, instead of the 1 we want to get. The first error is: Command /bin/sh failed with exit code 1. I've done some googling, and it seems others have had this problem, although on older versions of Xcode.

I'm wondering if anyone has had this problem before and knows how to fix it, or has some suggestions on how to fix it?

I should add as well:
The app is added under the Unit Test target's direct dependencies.
I have set the Configuration to Debug and All Configurations under the Build tab.
I have set the Bundle Loader and Test Host to the code shown in the developers article.

Thanks for any help!

Dan



szymczyk
Nov 8, 2010, 12:45 PM
From what you posted, you're getting the expected behavior. The error message "Command /bin/sh failed with exit code 1." says the unit test failed. You're going to get this message if you have failing unit tests. A failing unit test is going to generate multiple errors: a "Command /bin/sh failed with exit code 1." message plus one error for each failing test.

The way to fix the error is to get all the unit tests to pass. When the unit tests pass the "Command /bin/sh failed with exit code 1." error will go away.

isthisonetaken
Nov 8, 2010, 09:05 PM
Thanks szymczyk! Now that I know that I can get on with learning how to use Unit Tests properly in my projects.

Dan

rzakarian
Dec 16, 2010, 05:58 PM
From what you posted, you're getting the expected behavior. The error message "Command /bin/sh failed with exit code 1." says the unit test failed. You're going to get this message if you have failing unit tests. A failing unit test is going to generate multiple errors: a "Command /bin/sh failed with exit code 1." message plus one error for each failing test.

The way to fix the error is to get all the unit tests to pass. When the unit tests pass the "Command /bin/sh failed with exit code 1." error will go away.

You just saved my life