0

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

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

这是手机上使用的路径:

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

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

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

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

谢谢你的帮助...

4

1 回答 1

1

您使用了错误的方法。

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

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

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

HTH 马蒂亚斯

于 2012-10-15T16:48:11.177 回答