【问题标题】:How can I create Firebase test environments for CI?如何为 CI 创建 Firebase 测试环境?
【发布时间】:2018-11-17 11:30:18
【问题描述】:

我想针对我的 Firebase/Firestore 应用程序运行一些浏览器测试。它们将在 CI 中运行,因此我希望它们在不会相互冲突的单独环境中运行。

如果我要编写自己的后端,这将很容易:我只需运行本地后端和数据库。但是,this isn't possible yet with Firebase and Firestore。

一种可能的解决方案是以编程方式为每次测试运行创建 Firebase 项目,但这似乎是不可能的。同样,每个测试都可以在自己的命名空间but this also doesn't seem to be possible 中运行。

为 Firebase/Firestore 应用创建测试环境的最佳做法是什么?

【问题讨论】:

  • 您的测试是否需要并行运行,以便您需要以编程方式为每个项目创建一个项目?如果没有,只需将一个项目专用于测试并在每次测试运行之前将其重置。

标签: firebase testing google-cloud-firestore


【解决方案1】:

更新:Firebase 团队最近发布了Firebase Management API:

Firebase Management API 支持对 Firebase 项目进行编程设置和管理,包括项目的 Firebase 资源和 Firebase 应用。

我还没有机会对其进行测试,但理论上它非常适合作为任何 CI/CD 设置的一部分以编程方式按需设置和处置环境。

【讨论】:

    【解决方案2】:

    我建议创建一个单独的 firebase 项目,其设置与您的实际项目相同,并在那里运行您的测试。我已经这样做了,而且效果很好。该解决方案使您能够在 Firestone 中获得与实时/生产分开的测试数据。

    【讨论】:

    • 不幸的是,如果两个测试需要并行运行,这将不起作用。如果您可以编写不会与另一组正在运行的测试(例如使用随机名称)发生冲突的测试,那么这种技术将会起作用,但如果您想测试一些新的安全规则或云功能,它就会完全崩溃。
    猜你喜欢
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多