加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 17:58:28 所属栏目:百科 来源:网络整理
导读:我正试图深入探讨使用 Xcode进行单元测试的相当坦率的可怕世界(这似乎是一个错综复杂的过程.) 基本上我有这个测试类,试图测试我的Show.h类 #import GHUnit/GHUnit.h#import "Show.h"@interface ShowTest : GHTestCase { }@end@implementation ShowTest- (voi
我正试图深入探讨使用 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项目中.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读