【发布时间】:2011-09-10 05:28:49
【问题描述】:
注意:“使用 GHUnit”不是这个问题的可接受答案。我知道大多数人认为 GHUnit 比 Xcode4 OCUnit 更好,但这不是我要问的。我会单独评估。
我有一个在 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 设置正确且相同 到我的另一个测试项目 正确。
有什么可能导致这种情况的想法吗?
【问题讨论】:
-
我遇到了同样的问题。测试运行良好,直到您从主机应用程序分配对象。一整天都被难住了:(
-
@Sam 我已经被难住了一个半月:P 最终我放弃了,并用老式的方式进行了测试。也许新的 Xcode 会修复它,谁知道呢。不过,如果您有任何发现,请告诉我们。
-
像我之前的许多人一样,我已经放弃了,现在正在使用 GHUnit。设置大约需要 10 分钟。