用于单元测试的GH-Unit Objective-C代码,为什么我会收到链接错误?

前端之家收集整理的这篇文章主要介绍了用于单元测试的GH-Unit Objective-C代码,为什么我会收到链接错误?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正试图深入探讨使用 Xcode进行单元测试的相当坦率的可怕世界(这似乎是一个错综复杂的过程.)

基本上我有这个测试类,试图测试我的Show.h类

#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

但是,当我尝试构建并运行我的测试时,它会因此错误而呻吟: –

Undefined symbols:

“_OBJC_CLASS_$_Show”,referenced from:

06001

ld: symbol(s) not found

collect2: ld returned 1 exit status

现在我假设这是一个链接错误.我尝试按照此处说明中的每一步操作: –

http://github.com/gabriel/gh-unit/blob/master/README.md

这些说明的第2步让我困惑: –

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.)

当我所有接受它的.dylib,.framework和.o文件时,我应该如何将我的项目添加链接库列表?

解决方法

如果您要测试的目标是应用程序,则需要在主目标和测试目标中手动包含Show.h / m文件.

我还更新了自述文件以反映这一点:

>如果您的主要目标是图书馆:添加链接库,并选择您的主要目标;这样您就可以将测试目标与主目标链接起来,然后您不必在两个目标中手动包含源文件.
>如果您的主要目标是应用程序,则需要手动将这些源文件包含在Test项目中.

对困惑感到抱歉!必须在两个目标中包含文件并不理想.

猜你在找的Xcode相关文章