GH-Unit和“Undefined symbols”错误

时间:2010-02-05 22:16:03

标签: iphone cocoa gh-unit

我正在使用GH-Unit进行单元测试。我按照说明进行了设置,但是我在这一行上收到了“Undefined Symbol”错误:

#import "GHUnit.h"
#import "ChecklistAppDelegate.h"

@interface TestAppDelegate : GHTestCase {}
@end

@implementation TestAppDelegate

- (void)testStoringProperties {
    ChecklistAppDelegate *appDelegate = [[ChecklistAppDelegate alloc] init];
}

如果我将ChecklistAppDelegate添加到Tests目标,则未定义的符号错误消失,但我得到37个错误,一个用于AppDelegate中Core Data类的每个声明(有很多错误) )。其中大部分都是expected specifier-qualifier-list before 'NSPersistentStoreCoordinator'

形式

我想我可以通过将我的Tests目标与核心数据框架相关联来解决这个问题,但这不起作用。我还在我的AppDelegate文件中尝试了#import <CoreData/CoreData.h>,但这也没有用。

有什么想法吗?我已经尝试删除GH-Unit的所有痕迹并重新添加几次,但它仍然无效。


以下是构建结果中的错误

Undefined symbols:
  ".objc_class_name_ChecklistAppDelegate", referenced from:
      literal-pointer@__OBJC@__cls_refs@ChecklistAppDelegate in TestAppDelegate.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

2 个答案:

答案 0 :(得分:0)

Undefined symbols:
 ".objc_class_name_ChecklistAppDelegate", referenced from:
     literal-pointer@__OBJC@__cls_refs@ChecklistAppDelegate in TestAppDelegate.o

您需要将ChecklistAppDelegate.m添加到测试目标。

  

如果我将ChecklistAppDelegate添加到Tests目标,那么未定义的符号错误就会消失,但是我得到了37个以上的错误,一个是我的AppDelegate中每个Core Data类的声明(有很多)。其中大多数都是'NSPersistentStoreCoordinator'之前的形式,期望的说明符 - 限定符列表

声明Core Data类是Core Data标头的工作。我认为你的意思是别的,但我不确定是什么。请编辑您的问题以包含代码,确切位置(哪个文件)和错误。

答案 1 :(得分:0)

修正了它。我添加了

#import <CoreData/CoreData.h>

到我的Tests_Prefix.pch前缀头文件。