注意:“使用GHUnit”不是此问题的可接受答案。我知道大多数人认为GHUnit比Xcode4 OCUnit更好,但这不是我所问的。我会分开评估。Xcode 4单元测试链接器错误
我有一个从头开始在Xcode4中创建的Xcode项目,在创建过程中选中“包含单元测试”复选框。我还包括一些我在以前的项目中开发的库。通过“添加文件到x ...”对话框将它们添加到项目中,并仅添加到应用程序目标(而不是测试目标)。运行应用程序时它们工作正常,所以我认为它们设置正确。我也为这个项目编写了许多不同的类。
我的测试文件是以标准方式设置的,名为[AppName] Tests.h和.m。
代码头:
#import <SenTestingKit/SenTestingKit.h>
@interface [AppName]Tests : SenTestCase {
@private
}
@end
代码执行:
#import "[AppName]Tests.h"
@implementation [AppName]Tests
- (void)setUp
{
[super setUp];
// Set-up code here.
}
- (void)tearDown
{
// Tear-down code here.
[super tearDown];
}
// Test methods go here
@end
这仅仅是基本骨架。它可以在我的其他项目以及这个项目中正常工作,只要我不导入任何其他文件。当我从这个项目导入另一个文件,并使用它,我看到的Xcode输出日志以下错误:
The test bundle at /Users/[Me]/Library/Developer/Xcode/DerivedData/[AppName]-dwuuuwcpmdqxqmgxomoniplwhlpb/Build/Products/Debug-iphonesimulator/[AppName]Tests.octest could not be loaded because a link error occurred. It is likely that dyld cannot locate a framework framework or library that the the test bundle was linked against, possibly because the framework or library had an incorrect install path at link time.
我已经证实:
- 我所用有框架被 添加到“链接二进制与 库”为应用程序和测试 目标。
- 测试目标已经配置 正确地创建和我所有的 测试方法编辑显示 计划...->测试 - >测试
- 每一个问题,但这个已经 解决,有没有编译器 错误。
- 所有设置讨论 here 设置是否正确和一致 我认为正确的测试 其他项目。
有什么想法可能会导致这种情况?
我有这个EXACT相同的问题。测试运行正常,直到您从主机应用程序分配一个对象。整天被难住:( – Sam 2011-07-28 16:42:21
@Sam我被困了一个半月:P 最终我放弃了,并测试了老式的方式。也许新的Xcode会修复它,谁知道。 – Kongress 2011-07-28 19:59:40
与我之前的许多人一样,我已经放弃了,现在正在使用GHUnit,花费了大约10分钟的时间来设置 – Sam 2011-07-29 10:27:53