为了快速测试一些内容,我将测试文件添加到我的应用程序包中,并使用NSBundle:pathForResource将其加载到委托中。这很有用。
但是现在我刚刚创建了一个单元测试类型的目标,并将文件和代码添加到这个新目标但是无法加载它。
我已使用Copy Bundle Resources将文件添加到测试目标,这是加载它的完整代码:
NSBundle *mainBundle = [NSBundle mainBundle];
NSString *xmlFilePath = [mainBundle pathForResource:@"TestServerResponse" ofType:@"xml"];
STAssertNotNil(xmlFilePath, @"Unable to open file TestServerResponse.xml")
我无法弄清楚为什么我可以加载它当它是应用程序包目标的一部分,但现在我已将它移动到它将无法加载的测试包。
答案 0 :(得分:6)
试试这个:
NSBundle *testBundle=[NSBundle bundleForClass:[self class]];
NSString *testBundlePath=[testBundle pathForResource:@"TestServerResponse" ofType:@"xml"];
对于测试用例,主包或您的应用程序不是主要包。
您需要自己为班级访问捆绑包。