"_OBJC_CLASS _ $ _ viewsampleViewController",引自:

Alm*_*and 0 iphone unit-testing objective-c

我创建了一个视图控制器viewsampleViewController ..它有两个方法setname和getname ..我为该视图控制器创建一个测试用例.我的testcase名称是newTestCase,方法名称是testName.

#import "newTestCase.h"
#import "viewsampleViewController.h"


@implementation newTestCase
Run Code Online (Sandbox Code Playgroud)

在我的testName方法中,

-(void)testName{

 NSString *b=@"hello";
 v =[[viewsampleViewController alloc] init];
 STAssertNotNil(v,@"v doesnt created");
 [v setuname:@"hello"];
 NSString *a=[v getuname];

 STAssertEquals(b,a,@"error:name not equal");
 [v release];

}

-(void)setUp{
 v=[viewsampleViewController alloc];
}

-(void) tearDown{
 [v release];
}
Run Code Online (Sandbox Code Playgroud)

当我建立我有一个错误

 Ld "build/Debug-iphoneos/Unit test.octest/Unit test" normal armv6
cd /Users/anande/Documents/viewsample
setenv IPHONEOS_DEPLOYMENT_TARGET 3.1.3
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6 -bundle -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.3.sdk -L/Users/anande/Documents/viewsample/build/Debug-iphoneos -F/Users/anande/Documents/viewsample/build/Debug-iphoneos -F/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.3.sdk/Developer/Library/Frameworks -filelist "/Users/anande/Documents/viewsample/build/viewsample.build/Debug-iphoneos/Unit test.build/Objects-normal/armv6/Unit test.LinkFileList" -dead_strip -framework Foundation -framework SenTestingKit -miphoneos-version-min=3.1.3 -o "/Users/anande/Documents/viewsample/build/Debug-iphoneos/Unit test.octest/Unit test"


Undefined symbols:
  "_OBJC_CLASS_$_viewsampleViewController", referenced from:
      __objc_classrefs__DATA@0 in newTestCase.o
ld: symbol(s) not found

collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

请帮助我,

小智 19

由于体系结构依赖性而出现此链接器问题.实际上,当我们从其他一些源向项目添加一些文件时,可能无法建立确切的依赖关系.所以编译器生成链接器错误.我通过以下步骤解决了这个问题:

  1. 选择目标
  2. 选择构建阶段
  3. 选择编译源
  4. 选择+图标
  5. 选择您收到错误的.m文件并添加它.
  6. 清理构建并再次运行.


Mar*_*ger 14

这是一个链接器错误,将viewsampleViewController.m添加到您的测试目标.请将您的类名称大写,使所有内容更具可读性