Я пытаюсь протестировать функцию Firebase Cloud с помощью пакета Firebase-functions-test SDK ... Документация (как часто) основана на mocha / sinon, но так как мой проект основан на Jest, я бы хотел использоватьJest вместо этого ...
В документе они утверждают, что так как index.js вызывает admin.initializeApp ... Мне нужно заблокировать его перед импортом моей функции.
, поэтому они пишут:
const test = require("firebase-functions-test");
const admin = require("firebase-admin");
adminInitStub = sinon.stub(admin, 'initializeApp');
myFunctions = require('../index');
Используя Jest, я попытался имитировать это следующим образом:
const test = require("firebase-functions-test");
const admin = require("firebase-admin");
adminInitStub = jest.mock(admin, 'initializeApp');
myFunctions = require('../index');
, но получаю ошибку:
FAIL tests / index.spec.js CloudФункции ✕ обнаружил объявление, исключающее (5 мс)
● Cloud Functions › encountered a declaration exception
TypeError: moduleName.split is not a function
4 |
5 | describe('Cloud Functions', () => {
> 6 | const adminInitStub = jest.mock(admin, "initializeApp");
| ^
7 | const myFunctions = require('../index.js');
8 |
9 | before(() => {
at Resolver.resolveModuleFromDirIfExists (../node_modules/jest-resolve/build/index.js:187:30)
at Suite.mock (tests/index.spec.js:6:30)
где я ошибаюсь?