使用捆绑资源进行测试很方便,例如提供测试的预期结果。
对于旧的逻辑样式测试,我将使用主包,但是对于应用程序样式测试,主包是应用程序本身。我不想将测试资源放在主包中。
例如,如果测试资源仅属于测试目标,则以下代码不起作用:
//Load a resource from the main bundle
NSString* xml = [[JBBundleResource withName:@"signUpResponse.xml"] asString];
。 。 。是否有特定的测试包?我怎样才能处理这个问题?
只需使用:
NSBundle *testBundle = [NSBundle bundleForClass:[YourTestClass class]];
或者在 Swift 3 中:
let testBundle = Bundle(for: type(of: self))
在测试代码中。您在“构建阶段”的“复制捆绑资源”中为 XCode 中的测试目标添加的所有内容都将在此捆绑包中提供。