Firebase - облачный firestore - модульное тестирование завершается с ошибкой - TypeError: Аргумент «путь» должен иметь тип string - PullRequest
0 голосов
/ 22 марта 2020

Firebase - облачный пожарный магазин - модульное тестирование завершается с ошибкой - TypeError: Аргумент «путь» должен иметь тип string.

В противном случае он работает нормально при запуске с NodeJS команда 'индекс узла. js 'Я использую служебную учетную запись и NodeJS

myservice. js


var admin = require("firebase-admin");

var serviceAccount = require("./sakey.json");

admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: "https://myapp.firebaseio.com"
});

const db = admin.firestore();


const getData = async () => {
    const snapshot = await db.collection('users').get()
    return snapshot.docs.map(doc => doc.data())
}

module.exports = { getData }

Контрольный пример

const { getData } = require('./myservice')

describe('my test suite', () => {

    it('Retrieve data', async () => {
        let result = await getData();
        return result().then(data => expect(data).toBeDefined())
    }
}

Ошибка

TypeError: The "path" argument must be of type string. Received type objectTypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type object

      at GrpcClient.loadProto (node_modules/google-gax/src/grpc.ts:166:23)
      at new FirestoreClient (node_modules/@google-cloud/firestore/build/src/v1/firestore_client.js:113:38)
      at ClientPool.clientFactory (node_modules/@google-cloud/firestore/build/src/index.js:329:26)
      at ClientPool.acquire (node_modules/@google-cloud/firestore/build/src/pool.js:87:35)
      at ClientPool.run (node_modules/@google-cloud/firestore/build/src/pool.js:164:29)
      at node_modules/@google-cloud/firestore/build/src/index.js:957:30
      at Firestore._retry (node_modules/@google-cloud/firestore/build/src/index.js:822:38)

пакет. json

...
  "dependencies": {
    "dotenv": "^8.2.0",
    "firebase-admin": "^8.10.0",
    "moment": "^2.24.0"
  },
  "devDependencies": {
    "@types/jest": "^25.1.4",
    "jest": "^25.1.0"
  }
...

1 Ответ

1 голос
/ 22 марта 2020

Согласно этой проблеме :

Добавление jest.config. js с помощью следующего кода решило мою проблему

module.exports = {
    testPathIgnorePatterns: ['lib/', 'node_modules/'],
    moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
    testEnvironment: 'node'
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...