如何为CI创建Firebase测试环境?

3
我想对我的Firebase/Firestore应用程序进行一些浏览器测试。它们将在CI中运行,因此我希望它们在彼此不会冲突的单独环境中运行。
如果我自己编写后端,这将很容易:我只需运行本地后端和数据库即可。但是,使用Firebase和Firestore还不可能实现这一点
一个可能的解决方案是为每个测试运行编程创建Firebase项目,但似乎不可能实现。同样,每个测试可以在其自己的命名空间中运行,但这也似乎不可能实现
对于创建Firebase/Firestore应用程序的测试环境,最佳实践是什么?

你的测试需要并行运行,以至于你需要编程地为每个测试创建一个项目吗?如果不是这样,请专门为测试分配一个单独的项目,并在每次测试运行之前重置它。 - Doug Stevenson
2个回答

1
更新: Firebase团队最近发布了Firebase管理API

Firebase管理API使得Firebase项目的编程设置和管理成为可能,包括项目的Firebase资源和Firebase应用。

我还没有测试过它,但理论上它非常适合作为任何CI/CD设置的一部分,在需求变化时可以自动地编程设置和销毁环境。


0
我建议创建一个与您的实际项目具有相同设置的单独 Firebase 项目,并在那里运行您的测试。我已经这样做并且效果很好。这种解决方案使您能够在 Firestone 中拥有与现场/生产分离的测试数据。

2
很不幸,如果需要同时运行两个测试,这种方法是行不通的。如果您可以编写不会与另一组正在运行的测试冲突的测试(例如,使用随机名称),则此技术可能会有所作用,但是如果您要测试一些新的安全规则或云函数,则完全失效。 - bfirsh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接