0

在 xcode 中,我正在尝试使用 GHUnit 和 OCMock 进行单元测试,如下所述:

单元测试 Xcode

并按照此处所述设置方法:

GHUnitTestCase

但是在这种方法中得到了错误

  • (void)setUpClass { }

当我如下初始化我的 ViewController 对象时:

#import <GHUnitIOS/GHUnit.h>
#import <OCMock/OCMock.h>
#import "RS_LoginRSViewController.h"

@interface SampleLibTest : GHTestCase
{
  RS_LoginRSViewController * login;
}
@end

@implementation SampleLibTest

// Run before each test method
- (void)setUp { }

// Run after each test method
- (void)tearDown { }

// Run before the tests are run for this class
- (void)setUpClass
{
 GHTestLog(@"Log with a test with the GHTestLog(...) for test specific logging.");
 login = [[RS_LoginRSViewController alloc]init];
}

// Run before the tests are run for this class
 - (void)tearDownClass { }

// Tests are prefixed by 'test' and contain no arguments and no return value
 - (void)testA {
 GHTestLog(@"Log with a test with the GHTestLog(...) for test specific logging.");
 }

 // Override any exceptions; By default exceptions are raised, causing a test failure
  - (void)failWithException:(NSException *)exception { }
 @end

但是得到了 Apple Mach-O Linker Error 的错误:

架构 i386 的未定义符号:“_OBJC_CLASS_$_RS_LoginRSViewController”,引用自:SampleTestCase.o ld 中的 objc-class-ref:找不到架构 i386 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 -v查看调用)

但是当我删除线

     login = [[RS_LoginRSViewController alloc]init];

- (void)setUpClass

方法然后它运行成功。为什么我收到这个错误?任何帮助将不胜感激。

4

1 回答 1

0

我通过添加必要的文件、框架和库来构建项目测试目标的阶段来解决错误。

于 2013-08-16T05:50:35.930 回答