使用firebase的组件的java单元测试

wvt8vs2t  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(392)

我正在做一个项目,我们使用firebase来存储数据,我们正在做一些单元测试。我设置了一个github操作,在每个push或pull请求上执行mvn package和mvn test,问题是在它执行测试时收到以下错误:
java.io.ioexception:应用程序默认凭据不可用。如果在google计算引擎中运行,它们是可用的。否则,必须定义指向定义凭据的文件的环境变量google\u application\u credentials。看到了吗https://developers.google.com/accounts/docs/application-default-credentials 更多信息。
我已经用.json创建了这个秘密,下面是我编写github操作的方式:

name: Maven CI/CD

on:
  push:
    branches: [ develop ]
  pull_request:
    branches: [ develop ]

jobs:
  build_and_test:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up JDK 15
      uses: actions/setup-java@v1
      with:
        java-version: 15

    - name: Cache the Maven packages to speed up build
      uses: actions/cache@v1
      with:
        path: ~/.m2
        key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
        restore-keys: ${{ runner.os }}-m2      

    - name: Build project with Maven
      run: mvn -B package --file pom.xml
      env: 
        GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}

    - name: Run (J)Unit tests
      run: mvn clean test
      env:
        GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
qybjjes1

qybjjes11#

我发现它没有使用更新版本的动作。总之,我解决了使用谷歌github行动/setup-gcloud@master 设置如下:

- uses: google-github-actions/setup-gcloud@master
      with:
        project_id: ${{ secrets.GCP_PROJECT_ID }}
        service_account_key: ${{ secrets.GCP_SA_KEY }}
        export_default_credentials: true
    - name: Set GCP credentials
      run: gcloud info

gcp\u project\u id包含项目id,gcp\u sa\u key包含从firebase获得的service account.json文件。

相关问题