gpt4 book ai didi

iphone - 在 iOS 4.2 中对自定义类进行单元测试时出现 _OBJC_CLASS_$ 错误

转载 作者:太空狗 更新时间:2023-10-30 04:00:41 25 4
gpt4 key购买 nike

好吧,我花了大约 5 个小时来解决这个问题。绝对没有一个过去的 Stackoverflow 主题解决方案对我有用,所以我希望有人能给我一个答案,而不是徒劳的追逐。

问题:我有一个 x 代码项目需要对我的自定义类进行单元测试。我在 iOS SDK 4.2 中使用 X-Code 3.2.5。在采用几种不同的方法之后,我无法让我的单元测试在自定义类上工作。使用 Apple 的示例效果很好。

自定义类是带有普通 iVar 的简单子(monad)类 NSObject。我们称这个类为“Snookie”。

我已经尝试了几个有问题的解决方案,但希望得到有完全相同问题的人的回应,并提供有意义的答案。

复制:

  1. 添加 MyAppTesting 单元测试包目标。
  2. 在获取有关 MyAppTesting 的信息下,将 MyApp 添加为直接依赖项。
  3. 创建一个名为“测试”的组。
  4. 在“测试”下,添加 ObjectiveC 测试用例类。
  5. 在新的测试用例类.h中,导入Snookie.h,并创建一个iVar:
#import <SenTestingKit/SenTestingKit.h>
#import <UIKit/UIKit.h>

#import "Snookie.h"

@interface SnookieTests : SenTestCase {
Snookie *snookieObject;
}
@end

在新的测试用例类.m中,alloc/init snookie如下:

#import "SnookieTests.h"


@implementation SnookieTests

- (void) setUp
{
snookieObject = [[Snookie alloc] init];
}

- (void) tearDown
{
[snookieObject release];
}

@end

错误:

"_OBJC_CLASS_$_Snookie", referenced from:
Objc-class-ref-to-Snookie in SnookieTests.o
Symbol(s) not found
Collect2: Id returned 1 exit status

最佳答案

think linker 试图告诉您的是,它无法在 MyAppTesting 或任何它链接的框架/库。

MyApp 添加为直接依赖项不足以告诉 Xcode 从 MyApp 编译/链接代码。您需要将 Snookie.m 文件显式添加到 MyAppTesting 的目标中。

关于iphone - 在 iOS 4.2 中对自定义类进行单元测试时出现 _OBJC_CLASS_$ 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4346362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com