首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >_OBJC_CLASS_$ 4.2中单元测试自定义类时的iOS错误

_OBJC_CLASS_$ 4.2中单元测试自定义类时的iOS错误
EN

Stack Overflow用户
提问于 2010-12-03 14:13:46
回答 3查看 2.8K关注 0票数 4

好吧,我花了大约5个小时想办法解决这个问题。绝对没有一个过去的堆叠溢出主题的决议对我有用,所以我希望有人能给我一个答案,而不是白费力气。

问题:我有一个x代码项目,需要对我的自定义类进行单元测试。我在使用X-Code3.2.5和iOS SDK4.2。在遵循了几种不同的方法之后,我无法让我的单元测试在自定义类上工作。使用苹果的例子,效果很好。

自定义类是简单的子类NSObjects,具有简单的iVars。我们叫这个班“斯诺基”。

我已经尝试过几个有问题的解决方案,但希望得到一个有同样问题的人的回应,并给出一个有意义的答案。

复制:

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

#import #import #import "Snookie.h“@ SnookieTests : SenTestCase { Snookie *snookieObject;} @end

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

#导入"SnookieTests.h“@implementation SnookieTests -( snookieObject ) setUp { snookieObject = [Snookie alloc init];}-(SnookieObject) tearDown {snookieObject发布;} @end

错误:

代码语言:javascript
运行
复制
"_OBJC_CLASS_$_Snookie", referenced from:
Objc-class-ref-to-Snookie in SnookieTests.o
Symbol(s) not found
Collect2: Id returned 1 exit status
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-03 14:47:39

think试图告诉您的是,它无法在@implementation或它链接的任何框架/库中为Snookie类找到一个MyAppTesting

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

票数 4
EN

Stack Overflow用户

发布于 2014-03-13 03:31:28

虽然将应用程序的.m文件直接添加到测试目标解决了问题,但它是多余的和不必要的。遵循这里由两位实验室概述的步骤让它正常工作。总之,确保您的…

  1. 测试目标的Bundle Loader构建设置指向您的应用程序包。
  2. 测试目标的Test Host构建设置指向您的应用程序包。
  3. app的Symbols Hidden by Default构建设置是NO
票数 4
EN

Stack Overflow用户

发布于 2013-12-23 23:21:10

kperryua是对的。

在XCode 5中,单击要测试的类实现文件(例如XYZCustomClass.m),确保可以看到实用程序屏幕(如果隐藏,可以显示在视图>实用程序>显示实用程序下),然后选中目标成员资格框下的“测试测试”复选框。瞧,您的单元测试"OBJC_CLASS_$…“,引用自: objc-class-ref in。。._Tests.o“错误信息将消失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4346362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档