iOS模拟器访问测试资源

时间:2012-10-15 15:15:05

标签: objective-c cocoa-touch unit-testing ios-simulator

我目前正在为我的应用实施一些简单的单元测试。

一个简单的Testcase是使用预定义文件实例化AVAudioPlayer。此测试在设备上完美运行。但是,如果我使用模拟器测试App,显然会使用其他文件夹结构,因为测试资源不会复制到tmp文件夹。

这是手机上使用的路径:

soundPath = [[NSString alloc] initWithFormat:@"%@Tests.octest/%@", NSTemporaryDirectory(), fileName];

如果我在模拟器上,我已经实现了一个简单的检查:

 if (TARGET_IPHONE_SIMULATOR)
        soundPath = @"";
    else
      ...

如果我在模拟器上,我应该使用哪条路径? (我知道我可以使用硬编码的资源路径,但是这个项目将在不同的计算机上运行,​​所以我不能把它放在那里..)

感谢您的帮助......

1 个答案:

答案 0 :(得分:1)

你使用的方法不对。

您可以使用以下方式获取捆绑路径:

NSBundle *bundle = [NSBundle bundleForClass:[self class]];
soundPath = [bundle bundlePath];

这将返回整个路径(包括Tests.octest)

HTH 的Mattias