使用捆绑资源进行测试的最简单方法

Jas*_*ues 3 objective-c ios xctest

它便于使用捆绑资源进行测试,例如为测试提供预期的结果.

对于旧的逻辑样式测试,我会使用主要包,但是对于应用程序样式测试,主包是应用程序本身.我不想把测试资源放在主包中.

例如,如果测试资源仅属于测试目标,则以下代码不起作用:

//Load a resource from the main bundle
NSString* xml = [[TyphoonBundleResource withName:@"signUpResponse.xml"] asString];
Run Code Online (Sandbox Code Playgroud)

...是否有一个特定的测试包?我怎样才能掌握这个?

Mic*_*uba 7

只需使用:

NSBundle *testBundle = [NSBundle bundleForClass:[YourTestClass class]];
Run Code Online (Sandbox Code Playgroud)

或者在Swift 3中:

let testBundle = Bundle(for: type(of: self))
Run Code Online (Sandbox Code Playgroud)

在测试代​​码中.您在XCode中为测试目标的"构建阶段"中的"复制捆绑资源"中添加的所有内容都将在此捆绑包中提供.