0

我正在尝试使用xctool在没有模拟器的情况下运行单元测试。我按照此评论中的说明在测试目标的常规选项卡中将“主机应用程序”设置为无。

当我运行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 是测试目标的成员。为什么会发生这种情况,我该如何解决?

4

1 回答 1

0

想通了,这篇文章有帮助。

我的测试用例设置方法像这样初始化情节提要

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:DEVMainStoryboardName 
bundle:nil];

问题是将 nil 传递给 bundle 参数,该参数使用的是不是在测试目标中使用的主包——所以你必须通过编写来指定你想要使用测试包

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:DEVMainStoryboardName 
bundle:[NSBundle bundleForClass:[self class]]];

然后不要忘记将情节提要作为目标的成员。

于 2016-07-06T14:57:31.037 回答