【问题标题】:Can you add Firebase to unit tests in a Swift package?您可以将 Firebase 添加到 Swift 包中的单元测试中吗?
【发布时间】:2021-11-11 01:49:18
【问题描述】:

我有一个 Swift 包,它为 Firebase 实现了一些读/写方法。该软件包已将 Firebase 正确设置为依赖项。我可以将我的 Swift 包添加到 iOS 项目中并且它可以正常工作。

现在我想为 Swift 包(XCTestCase)编写一些单元测试,以确保读/写操作按照我的意愿进行。

这是否可能 - 我可以将 Firebase 添加到 Swift 包的测试中吗?你会在哪里打电话给FirebaseApp.configure()? swift 包中的单元测试是否甚至有一个包 ID 来生成 GoogleService-Info.plist

【问题讨论】:

    标签: ios swift firebase testing package


    【解决方案1】:

    当您使用 GoogleService-Info.plist 文件初始化 Firebase 时,Firebase 会解析该文件并最终通过 FirebaseOptions 对象处理配置。 FirebaseApp.configure(options:) 允许您传递自定义 FirebaseOptions 对象进行配置。

    通过下载 GoogleService-Info.plist 文件并将相应的值复制到以下代码,我能够为测试初始化​​ Firebase:

    final class DemoTests: XCTestCase {
        override func setUp() {
            let appOptions = FirebaseOptions(
                googleAppID: "**GOOGLESERVICE-INFO-GOOGLE-APP-ID**",
                gcmSenderID: "**GOOGLESERVICE-INFO-GCM-APP-ID**"
            )
            appOptions.apiKey = "**GOOGLESERVICE-INFO-API-KEY"
            appOptions.projectID = "**GOOGLESERVICE-INFO-PROJECT-ID"
            FirebaseApp.configure(options: appOptions)
        }
    
        func testSetup() throws { }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-10
      • 2015-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      相关资源
      最近更新 更多