无法在 XCTestCase 中加载任何故事板

Posted

技术标签:

【中文标题】无法在 XCTestCase 中加载任何故事板【英文标题】:can't load any storyboard in XCTestCase 【发布时间】:2021-08-22 08:35:52 【问题描述】:
 func testExample() throws 
        let app = XCUIApplication()
        app.launch()
        let bundle = Bundle(for: type(of: self))
        let storyBoard = UIStoryboard(name: "Main", bundle: bundle)
    //   let storyBoard = UIStoryboard(name: "Main", bundle:nil)

出现“在捆绑包 NSBundle 中找不到名为“Main”的情节提要”错误。

我也尝试使用它注释的行,也尝试在测试单元下选择 Main.storyboard,没有任何帮助。

【问题讨论】:

也尝试使用 Bundle.main 也没有拼写错误,启动应用时工作正常 确保情节提要也“附加”到测试目标 【参考方案1】:

你可以这样使用,只需要声明一个变量,然后在这个变量中赋值storyboard。

var mainStoryboard : UIStoryboard?

覆盖 func setUp() 超级设置() self.mainStoryboard = UIStoryboard(name: "Main", bundle: Bundle(for: type(of: self)))

【讨论】:

不起作用.. 可能是因为我正在运行 ui 测试而不是单元测试?

以上是关于无法在 XCTestCase 中加载任何故事板的主要内容,如果未能解决你的问题,请参考以下文章

XCTestCase 不提供项目类

是否可以在故 事板中获取所有Storyboard ID的列表?

是否可以在故​​事板中隐藏导航栏?

XCTestCase:无法在导航栏中按下自定义栏按钮

无法访问 XCTestCase Objective C 中的单例对象

IO9 上的 UI XCTestCase 无法播放