firebase模拟器上的Jest测试可以';找不到数据库URL?

firebase模拟器上的Jest测试可以';找不到数据库URL?,firebase,jestjs,firebase-cli,Firebase,Jestjs,Firebase Cli,我尝试在firebase仿真器上运行Jest单元测试,包括: firebase emulators:exec 'jest' 我在测试文件中包括firebase admin和initializeApp: const admin = require('firebase-admin'); admin.initializeApp(); it("tests", async () => { admin.database().ref('foo').set("bar"); ... 但我得到了

我尝试在firebase仿真器上运行Jest单元测试,包括:

firebase emulators:exec 'jest'
我在测试文件中包括
firebase admin
initializeApp

const admin = require('firebase-admin');
admin.initializeApp();

it("tests", async () => {
  admin.database().ref('foo').set("bar");
  ...
但我得到了一个错误:

无法确定Firebase数据库URL

运行
'jest'
通过
firebase模拟器:exec
是否自动设置firebase项目以指向模拟器?是否有我缺少的其他配置

我在这里建立了一个git回购的例子来演示这个问题


为了使用
firebase模拟器运行jest单元测试:exec
必须指定数据库url(通过提供服务帐户)或通过设置
firebase\u database\u EMULATOR\u HOST
。要运行默认仿真器,请在运行
FIREBASE仿真器:exec
之前设置
FIREBASE\u DATABASE\u emulator\u HOST=“localhost:9000”
。要查看写入数据库的数据,请转到<代码>http://localhost:9000/path/to/data.json?ns=not-a-项目。如果提供了服务帐户,则项目的命名空间(ns)将改为项目的命名空间

若要使用
firebase模拟器运行jest单元测试:exec
必须指定数据库url(通过提供服务帐户)或通过设置
firebase\u database\u EMULATOR\u HOST
。要运行默认仿真器,请在运行
FIREBASE仿真器:exec
之前设置
FIREBASE\u DATABASE\u emulator\u HOST=“localhost:9000”
。要查看写入数据库的数据,请转到<代码>http://localhost:9000/path/to/data.json?ns=not-a-项目。如果提供了服务帐户,则项目的命名空间(ns)将改为项目的命名空间

如果您在使用firebase emulator套件时遇到问题,我建议您在firebase工具GitHub上发布一个问题。我不认为emulator:exec为脚本提供了什么特别的东西。您可能仍然需要配置程序以查看仿真器。谢谢@DougStevenson。我很犹豫是否向firebase工具提交错误报告,因为我不能完全确定我做得是否正确。您是否在firebase模拟器上执行了测试脚本?我错过什么了吗?我已经将相关的部分放到git repo中,以显示我正在尝试做什么。正如我所说的,我认为您可能仍然需要使用我提供的链接中的信息配置脚本以连接到模拟器。你做到了吗?如果你在使用firebase emulator套件时遇到问题,我建议在firebase工具GitHub上发布一个问题。我不认为emulator:exec为脚本提供了什么特别的东西。您可能仍然需要配置程序以查看仿真器。谢谢@DougStevenson。我很犹豫是否向firebase工具提交错误报告,因为我不能完全确定我做得是否正确。您是否在firebase模拟器上执行了测试脚本?我错过什么了吗?我已经将相关的部分放到git repo中,以显示我正在尝试做什么。正如我所说的,我认为您可能仍然需要使用我提供的链接中的信息配置脚本以连接到模拟器。你做到了吗?