【发布时间】:2015-01-13 17:58:16
【问题描述】:
我正在运行 Xcode 6.1.1。 我使用以下方法设置了一个新的测试目标:File > New > Target
使用空模板运行测试可以正常工作。我导入了一个标头ServerController,并尝试创建一个实例:
#import <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
#import "ServerController.h"
@interface Tixie_Tests : XCTestCase
@end
@implementation Tixie_Tests
- (void)setUp {
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
ServerController * s = [[ServerController alloc] init];
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testExample {
// This is an example of a functional test case.
XCTAssert(YES, @"Pass");
}
- (void)testPerformanceExample {
// This is an example of a performance test case.
[self measureBlock:^{
// Put the code you want to measure the time of here.
}];
}
@end
现在运行测试给了我这个:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_ServerController", referenced from:
objc-class-ref in <omitted>.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
【问题讨论】:
-
您是否通过选中属性检查器面板中的目标复选框将 ServerController.m 文件添加到新目标?
-
不,我知道这行得通,但我读到它会导致其他问题,并且它不应该因为它被设置为构建我的主要目标而无论如何都行得通吗?