GH-Unit for unit testing Objective-C code, why am I getting linking errors?
- by djhworld
Hi there, I'm trying to dive into the quite frankly terrible world of unit testing using Xcode (such a convoluted process it seems.)
Basically I have this test class, attempting to test my Show.h class
#import <GHUnit/GHUnit.h>
#import "Show.h"
@interface ShowTest : GHTestCase { }
@end
@implementation ShowTest
- (void)testShowCreate
{
Show *s = [[Show alloc] init];
GHAssertNotNil(s,@"Was nil.");
}
@end
However when I try to build and run my tests it moans with this error: -
Undefined symbols:
"_OBJC_CLASS_$_Show", referenced from:
__objc_classrefs__DATA@0 in ShowTest.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Now I'm presuming this is a linking error. I tried following every step in the instructions located here: -
http://github.com/gabriel/gh-unit/blob/master/README.md
And step 2 of these instructions confused me: -
In the Target 'Tests' Info window, General tab:
Add a linked library, under Mac OS X 10.5 SDK section, select GHUnit.framework
Add a linked library, select your project.
Add a direct dependency, and select your project. (This will cause your application or framework to build before the test target.)
How am I supposed to add my project to the linked library list when all it accepts it .dylib, .framework and .o files. I'm confused!
Thanks for any help that is received.