如何从 .NET 应用/集成测试访问 Firebase 模拟器

问题描述 投票:0回答:1

我有一个 docker 托管的 firebase 模拟器,可以从 localhost:4000 访问

我不知道如何从 docker 外部的 dotnet 应用/集成测试 (firebase-admin-dotnet nuget) 访问 firebase 模拟器

  Environment.SetEnvironmentVariable("FIRESTORE_EMULATOR_HOST", "127.0.0.1:8080");
  Environment.SetEnvironmentVariable("FIREBASE_AUTH_EMULATOR_HOST", "127.0.0.1:9099");
  Environment.SetEnvironmentVariable("PUBSUB_EMULATOR_HOST", "127.0.0.1:8085");
  Environment.SetEnvironmentVariable("FUNCTIONS_EMULATOR_HOST", "127.0.0.1:5001");
  Environment.SetEnvironmentVariable("GCLOUD_PROJECT", "test-project");

此实例在实例化时失败,因为缺少凭据

FirebaseApp.Create();

或者由于令牌无效而导致索取失败

FirebaseApp.Create(new AppOptions() { Credential = GoogleCredential.FromAccessToken("Bearer test") });

我在所有其他语言中看到了指定模拟器网址的方法,https://firebase.google.com/docs/emulator-suite但是使用的 dotnet 包缺乏功能,或者我是盲目的。

那么,有什么办法可以让这个东西发挥作用吗?

c# .net firebase .net-core firebase-tools
1个回答
0
投票

请确保使用安全密钥 JSON 文件路径设置环境变量 GOOGLE_APPLICATION_CREDENTIALS。示例

C#:

Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "secured-service-account.json");
© www.soinside.com 2019 - 2024. All rights reserved.