我尝试使用 xctool 在没有模拟器的情况下运行单元测试。我设置了主机应用程序'根据{{3}}的说明,在测试目标的常规标签中显示为无。
当我运行xctool -project MyProject.xcodeproj/ -scheme MyProject test
时,我收到此错误。
<unknown>:0: failed: caught "NSInvalidArgumentException",
"Could not find a storyboard named 'Main' in bundle NSBundle
</Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/
Developer/SDKs/iPhoneSimulator9.2.sdk/Developer/usr/bin> (loaded)"
我确保Main.storyboard是测试目标的成员。为什么会发生这种情况?我该如何解决?
答案 0 :(得分:0)
想出来,this post帮助了。
我的测试用例设置方法初始化了这样的故事板
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:DEVMainStoryboardName
bundle:nil];
问题是将nil传递给bundle参数,该参数使用的主捆绑包不是测试目标中使用的主捆绑包 - 所以你必须通过编写来指定你想要使用测试包
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:DEVMainStoryboardName
bundle:[NSBundle bundleForClass:[self class]]];
然后不要忘记将故事板作为目标成员包含在内。