1

単体テストにはGH-Unitを使用しています。指示に従って設定しましたが、次の行で「未定義のシンボル」エラーが発生します。

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

@interface TestAppDelegate : GHTestCase {}
@end

@implementation TestAppDelegate

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

ターゲットに追加ChecklistAppDelegateするとTests、未定義のシンボル エラーはなくなりますが、AppDelegate の Core Data クラスの宣言ごとに 1 つずつ、37 以上のエラーが発生します (たくさんあります)。それらのほとんどは、expected specifier-qualifier-list before 'NSPersistentStoreCoordinator'

ターゲットを Core Data フレームワークにリンクすることでこれを解決できるのではないかと考えまし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
4

2 に答える 2

0

修正しました。追加した

#import <CoreData/CoreData.h>

私のTests_Prefix.pchプレフィックスヘッダーファイルに。

于 2010-02-06T12:28:17.853 に答える
0
Undefined symbols:
 ".objc_class_name_ChecklistAppDelegate", referenced from:
     literal-pointer@__OBJC@__cls_refs@ChecklistAppDelegate in TestAppDelegate.o

Tests ターゲットに ChecklistAppDelegate.m を追加する必要があります。

Tests ターゲットに ChecklistAppDelegate を追加すると、未定義のシンボル エラーはなくなりますが、AppDelegate の Core Data クラスの宣言ごとに 1 つずつ、37 以上のエラーが発生します (たくさんあります)。それらのほとんどは、'NSPersistentStoreCoordinator' の前に指定子修飾子リストが必要な形式です。

Core Data クラスの宣言は、Core Data ヘッダーの仕事です。私はあなたが何か他のことを意味していると思いますが、私にはわかりません。質問を編集して、コード、正確な場所 (ファイル)、およびエラーを含めてください。

于 2010-02-06T04:52:12.693 に答える